разница между select и where в LINQ [дубликат]

Возможные Дубликаты:
Linq: в чем разница между Select и Where

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

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

и

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

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

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

1 ответов


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

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