2016-07-25 88 views
0

我需要得到risePeriods列表的屬性的列表,其中位位置> 2.LINQ的,從對象列表,創建基於另一個屬性的值

class Bit 
{   
    public int bitPos { get; set; }   
    public int risePeriod { get; set; } 
} 

List<Bit> dataBits; 

我試圖

IEnumerable<int> rpList = dataBits 
    .Where(bit => bit.bitPos > 2) 
    .Select(bit => bit.risePeriod); 

IEnumerable<int> rpList = from bit in dataBits 
          where bit.bitPos > 2 
          select bit.risePeriod 

以及其他方式,但每個返回整個dataBits列表,而不是僅僅一個risePeriods列表。這應該很簡單 - 對吧?

謝謝!

+0

你確定嗎?嘗試:'rpList = rpList.ToList()'或者(如果要替換原有的列表):'數據位= rpList.ToList()' –

+0

你確定你正在尋找的變量rpList,而不是數據位的結果呢? – Hogan

回答

1

我已經試過這樣做,它似乎是工作的罰款,因爲我懷疑是語法和邏輯看起來是正確的。你可以嘗試增加ToList通話,這將使其更清晰,當檢查,這是一個整數列表。如果不是,這裏肯定還有別的事情要做。下面的代碼,我建議:

IEnumerable<int> rpList = dataBits 
.Where(bit => bit.bitPos > 2) 
.Select(bit => bit.risePeriod) 
.ToList(); 
+0

的.ToList()就是答案! –

相關問題