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 回答