检查数组中的至少两个元素是否相等
您只需要检查是否有原始阵列之间有什么区别,它是Distinct()
版本。
var result = (array1.Count()-array1.Distinct().Count())>0;
你
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
对不起,但我想在数组中比较。 –
因为你更新你的问题我会更新我的答案 –
我该怎么办,如果我想要返回值是布尔类型 –
您可以使用下面的代码:
var isExisted = list.Count(item => item.Param == "test") >= 2;
样品溶液在你的情况:https://dotnetfiddle.net/1y4w9K
我编辑我的问题。就我而言,我没有像“测试”那样的确切值。我只想检查一个数组中的两个元素是否相等。 –
在你的情况下,“测试”是4,对不对? –
@DoThanhTung:查看我的编辑:)。 –
您可以使用方法获取阵列的独特值和与原始阵列的比较长度
int[] arrayDistinctElements = array1.Distinct().ToArray();
if(arrayDistinctElements.length == array1.length)
{
//All unique elements
}
else
{
//Duplicates were present
}
请显示一些示例数据和所需输出。 – DarkKnight
'if(new Set(array).Count!= array.Length){...}' – dasblinkenlight
@DoThanhTung:检查我的答案。 – DarkKnight