我尝试使用How to count the number of elements that match a condition with LINQ中的代码 它有效,但我的结果总是等于列表中的元素数量。我的清单上有10个日期,结果是10个。我需要计算具有特定日期的元素。
var zz = both.ToList(); // dates list
int con = list1.Where(p => list1.Contains(zz[0])).Count();
Console.WriteLine("count: " + con);
答案 0 :(得分:2)
您在代码中使用list
两次作为Where
子句的来源以及Contains
方法的来源,因此会产生意外结果。而应该是:
int con = list1.Where(p => zz.Contains(p)).Count();
而不是:
int con = list1.Where(p => list1.Contains(zz[0])).Count();