我有一个这样的清单:
myList.Add(1);
myList.Add(1);
myList.Add(3);
myList.Add(4);
myList.Add(5);
myList.Add(6);
我想找到'1到索引为4的数量。所以,在这种情况下,结果应该是2。
我如何在Count()
中添加条件。
我需要符合n<2 && n>0 (i.e. n==1)
标准的整数数。
答案 0 :(得分:4)
您只关心列表中的前4个条目(正如您所说,具有较高索引的值无关紧要)。
首先,将搜索限制为这四个数字:
myList.Take(4)
从这些中,您只想计算1
的条目。您可以使用带有谓词的Count()
linq扩展来实现这一点:
int numberOfOnes = myList.Take(4).Count(i => i == 1);
答案 1 :(得分:1)
int value = myList.Take(4).Where(w=>w == 1).Sum()
此外,&#39;哪里&#39;有一个不太常用的重载提供索引:myList.Where((w,ix)=>ix < 4 && w == 1).Sum().
我可能会因为可读性和性能原因而使用.Take()(参见@mwwills评论)。