5

この配列を持っているとしましょう: MyArray(0)="aaa" MyArray(1)="bbb" MyArray(2)="aaa"

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

4

4 に答える 4

8

解決策として、次の例のように 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
于 2008-09-17T13:40:04.270 に答える
8

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

string[] OutputArray = MyArray.Distinct().ToArray();
于 2008-09-17T13:45:14.507 に答える
2

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

string[] myarray = new string[] { "aaa", "bbb", "aaa" };
            Dictionary mydict = new Dictionary();
            foreach (string s in myarray) {
                if (!mydict.ContainsKey(s)) mydict.Add(s, s);
            }
于 2008-09-17T13:36:05.793 に答える
1

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

于 2008-09-17T13:36:22.203 に答える