2015-12-25 38 views

回答

3

您可以使用SkipTake得到你所需要的範圍:

var count = list 
    .Skip(startIndex) 
    .Take(length) 
    .Count(i => i == n); 
+0

這是不是使OP的作業?非常快的谷歌搜索給你這個... –

+0

感謝您的幫助 – theftproof

+0

即時通訊不是一個程序員,所以我真的不知道如何搜索,因爲我不知道如何調用的東西 – theftproof

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

+0

謝謝,將做 – theftproof

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); 
相關問題