2015-10-05 161 views

回答

1

您只需要检查是否有原始阵列之间有什么区别,它是Distinct()版本。

var result = (array1.Count()-array1.Distinct().Count())>0; 
1

var duplicates = array1.GroupBy(p => p).Where(g => g.Count() > 1).Select(g => g.Key); 

变量duplicates包含重复的项目

编辑

如果你想返回值是布尔值的列表,这可能做的伎俩比

var duplicates = array1.GroupBy(p => p).Where(g => g.Count() > 1).Select(g => g.Key).Count() > 0; 

你也可以做这样的事情

if(array1.Distinct().Count() != array1.Count()) 
    return true; /// You have duplicates in the array 
else 
    return false; /// All the elements in the array are different 
+0

对不起,但我想在数组中比较。 –

+0

因为你更新你的问题我会更新我的答案 –

+0

我该怎么办,如果我想要返回值是布尔类型 –

0

您可以使用下面的代码:

var isExisted = list.Count(item => item.Param == "test") >= 2; 

样品溶液在你的情况:https://dotnetfiddle.net/1y4w9K

+0

我编辑我的问题。就我而言,我没有像“测试”那样的确切值。我只想检查一个数组中的两个元素是否相等。 –

+0

在你的情况下,“测试”是4,对不对? –

+0

@DoThanhTung:查看我的编辑:)。 –

1

您可以使用​​方法获取阵列的独特值和与原始阵列的比较长度

int[] arrayDistinctElements = array1.Distinct().ToArray(); 

if(arrayDistinctElements.length == array1.length) 
{ 
//All unique elements 
} 
else 
{ 
//Duplicates were present 
} 
相关问题