2010-03-29 45 views
2

我有一個List<MyClass>帶有2個具有SequenceNumber屬性的項目。可枚舉選擇中的返回索引

如果我使用返回的索引下面這段代碼是0不是1:

var test = TrackingCollection 
       .Where(x => x.SequenceNumber == 2) 
       .Select((item, index) => 
            new 
            { 
             index, item.SequenceNumber 
            }); 

這是因爲這是指0作爲我的新匿名類型的指數或者是一些從零開始的索引怪事,我只需要增加。

什麼,我追求的是在TrackingCollection其中序列號爲2或887或原始集合中的任何其他正確的索引返回指數...

回答

4

這聽起來像你的問題之前,過濾列表索引它。您需要在生成索引後進行過濾。後面簡單說一下Where子句:

var test = TrackingCollection 
      .Select((item, index) => 
           new 
           { 
            index, item.SequenceNumber 
           }) 
      .Where(x => x.SequenceNumber == 2); 
0

爲什麼不應該爲零? C#的集合索引默認爲零。