如何在.net中获取数组的唯一值?

时间:2008-09-17 13:34:47

标签: .net arrays unique

说我有这个数组: MYARRAY(0)= “AAA” MYARRAY(1)= “BBB” MYARRAY(2)= “AAA”

是否有.net功能可以给我独特的价值?我希望这样的东西作为函数的输出: OutputArray(0)= “AAA” OutputArray(1)= “BBB”

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:8)

假设你有.Net 3.5 / LINQ:

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

答案 2 :(得分: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);
            }

答案 3 :(得分:1)

使用.NET 3.5中包含的HashSet类。