如何从C#中的数组中获取不同的值?

时间:2012-01-11 08:04:16

标签: c#

  

可能重复:
  Remove duplicates from array

如何在C#

中从数组中获取不同的值

4 个答案:

答案 0 :(得分:24)

您可以使用.Distinct()扩展方法。

var collectionWithDistinctElements = oldArray.Distinct().ToArray();

答案 1 :(得分:6)

在LINQ中使用Distinct方法。

请参阅http://msdn.microsoft.com/en-us/library/bb348436.aspx

            List<int> ages = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };

            IEnumerable<int> distinctAges = ages.Distinct();

            Console.WriteLine("Distinct ages:");

            foreach (int age in distinctAges)
            {
                Console.WriteLine(age);
            }

            /*
             This code produces the following output:

             Distinct ages:
             21
             46
             55
             17
            */

答案 2 :(得分:5)

使用Distinct()功能:

var distinctArray = myArray.Distinct().ToArray();

答案 3 :(得分:2)

Distinct应该足以解决您的问题,但如果您在自定义对象上执行此操作,则需要实现IEquatable<T>,并且需要覆盖GetHashCode()方法才能使其正常工作。