检查列表C#

时间:2018-07-06 09:59:41

标签: c# linq generics

我在C#中具有以下代码,该代码检查列表中的项目是否相等(出于所有实际目的的整数列表):

intList.Distinct().Count() == 1

如果列表中的所有值相等,则上面的代码有效。

但是,如果我有以下情况:

intList = {1, 1, 0}

然后上述代码失败。有人可以建议当列表中的所有值都不相等时,如何检查列表中的相似值。

3 个答案:

答案 0 :(得分:4)

怎么样

bool isDup = intList.Count == intList.Distinct().Count();

答案 1 :(得分:0)

if (intList.Distinct().Count() != intList.Count)
{
   // the list contained at least two values that were the same
}

答案 2 :(得分:0)

Linq Group()Count()个组

bool allUnique = intList.GroupBy(x => x).All(x => x.Count() == 1);

通过使用HashSet()

bool allUnique = new HashSet<int>(intList).Count == intList.Count;