.net で配列の一意の値を取得するにはどうすればよいですか?
質問
この配列があるとします。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クラスを使用します。
所属していません StackOverflow