今天我遇到了一個問題與LINQ的對象(不是SQL),由於錯字彈出。我在另一個地方有一個.Select
一個地方和一個.Where
。我期待着相同的結果,但他們顯示不同的數字。假設somelist
有有qty
所有元素10元= 0
linq模糊不清,在哪裏,並選擇
//returns 10 - basically count of all rows. I am expecting 0
somelist.Select(p => p.qty > 0).Count()
//returns 0 - the correct count
somelist.Where(p => p.qty > 0).Count()
如果同時選擇並在返回IEnumerable<T>
那麼爲什麼不確定性?謝謝。
thx每個人都爲linq 101更新。 – Gullu
這是一個有趣的命名問題,c#試圖在語法上像sql(其中sql建議您選擇列),但名稱'Select',特別是如果你放入一個謂詞,可以像你一樣閱讀,只選擇說那些通過實際上是通過ruby和smalltalk執行的項目就是'select'方法的作用。 – jbtule