今天我遇到了一个问题与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