2012-02-27 2 views
6

Можно создать дубликат:
Linq: What is the difference between Select and Whereразница между выбрать и где в LINQ

В чем разница между

var a = Doc.Document.Where(n => n.Id == id).SingleOrDefault(); 

и

var b = Doc.Document.Select(n => n.Id == id).SingleOrDefault(); 

Почему переменная b является логической?

Извините за мое невежество, я новичок в LINQ.

ответ

11

Where Фильтрует последовательность значений на основе предиката. Итак, в первом примере вы выбираете элементы из своего списка, где функция n.Id == id истинна.

Select Проекты каждого элемента последовательности в новую форму, поэтому в вашем втором примере вы получите список логических элементов, являющийся результатом функции n.Id == id для каждого элемента.

+0

> Большое спасибо. Теперь я понимаю лучше. – kevin