Неопределенность linq относительно того, где и выберите

Сегодня я столкнулся с проблемой с LINQ для объектов (не SQL), которая возникла из-за опечатки. У меня был . Выберите в одном месте и .Где в другом месте. Я ожидал такого же результата, но они показывают разные цифры. Предположим, что somelist имеет 10 элементов со всеми элементами, имеющими qty = 0

//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() 

, если оба select и где return IEnumerable , тогда почему неоднозначность ? Спасибо.

8
задан Jesse C. Slicer 15 November 2011 в 20:55
поделиться