获取使用LINQ在列表中出现一次的元素数

时间:2016-09-16 17:12:35

标签: c# linq list

是否有可能获得在LINQ列表中只出现一次的元素的整数计数,而不创建这些值的临时列表然后计算该列表?

显然这不起作用,但是:

int test = list.Count(s => s.id).Where(s.id.Count() == 1);

2 个答案:

答案 0 :(得分:3)

您必须将它们和项目分组为计数为1的项目,然后计算组数:

auto

答案 1 :(得分:1)

您可以使用GroupBy()

int test = list.GroupBy(s => s.id).Count(g => g.Count() == 1);