查找列表中只显示两次的重复项

时间:2016-12-05 16:48:26

标签: c# lambda find

我有一个自动生成的列表

var v = new List<int>(1000);
var generateur = new Random(1);
for (int i = 0; i != 1000; ++i)
     v.Add(generateur.Next(10000));

我想找到有多少数字仅使用一个lambda expression重复两次。

2 个答案:

答案 0 :(得分:3)

List<String> listDup = new List<String> { "6", "1", "2", "4", "6", "5", "1" };
var duplicates = listDup.GroupBy(n => n)
                 .Where(grp => grp.Count() == 2)
                 .Select(grp => grp.Key).ToList();

产生一个包含6和1的列表,因为它们在列表中只显示两次。

使用上面的代码获取列表中2次项目的总数

int count2Times = listNonDup.GroupBy(x => x).Where(x => x.Count() == 2).Count();

答案 1 :(得分:3)

如果我理解您的问题(以及您在代码注释中使用的整数),您似乎想要计算一组两个数字出现的次数。不是这些数字的列表。

然后解决方案是

searchController