如何在C#
中从数组中获取不同的值答案 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()
方法才能使其正常工作。