.net で配列の一意の値を取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/83260

  •  01-07-2019
  •  | 
  •  

質問

この配列があるとします。myArray(0)= "aaa" myarray(1)= "bbb" myarray(2)= "aaa"

一意の値を取得できる .net 関数はありますか?関数の出力として次のようなものが欲しいです。outputArray(0)= "aaa" outputArray(1)= "bbb"

役に立ちましたか?

解決

.Net 3.5/LINQ があると仮定します。

string[] OutputArray = MyArray.Distinct().ToArray();

他のヒント

解決策としては、次の例のように LINQ を使用することが考えられます。

int[] test = { 1, 2, 1, 3, 3, 4, 5 };
var res = (from t in test select t).Distinct<int>();
foreach (var i in res)
{
    Console.WriteLine(i);
}

これにより、期待される内容が出力されます。

1
2
3
4
5

辞書を使用してキーとともに追加することができ、追加するときにキーがすでに存在するかどうかを確認できます。

string[] myarray = new string[] { "aaa", "bbb", "aaa" };
            Dictionary mydict = new Dictionary();
            foreach (string s in myarray) {
                if (!mydict.ContainsKey(s)) mydict.Add(s, s);
            }

.NET 3.5に含まれるHashSetクラスを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top