我需要计算实数int n;
出现在我的列表中的次数,但棘手的部分是在list.Count-x
和list.Count-y
之间的列表的特定范围内
答案 0 :(得分:3)
您可以使用Skip
和Take
来获得所需的范围:
var count = list
.Skip(startIndex)
.Take(length)
.Count(i => i == n);
答案 1 :(得分:1)
Linq让事情变得简单。
int start = 3;
int range = 5;
int search = -8;
var result = list.Skip(start).Take(range).Count(i => i == search);
这将从start
开始,最多可计入start + range
。
答案 2 :(得分:0)
您还可以使用Where
重载:
var result = list.Where((elem, index) => elem == n
&& index >= list.Count -x
&& index <= list.Count - y)
.Count();
另一种选择:
var result = list.GetRange(startIndex, cnt).Count(elem => elem == n);