この配列を持っているとしましょう: MyArray(0)="aaa" MyArray(1)="bbb" MyArray(2)="aaa"
一意の値を取得できる .net 関数はありますか? 関数の出力として次のようなものが欲しいです: OutputArray(0)="aaa" OutputArray(1)="bbb"
解決策として、次の例のように 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
.Net 3.5/LINQ があると仮定します。
string[] OutputArray = MyArray.Distinct().ToArray();
辞書を使用してキーを追加し、追加するときにキーが既に存在するかどうかを確認できます。
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 クラスを使用します。