Это LINQ (с использованием синтаксиса запроса):
var _Results = from item in _List
where item.Value == 1
select item;
Это также LINQ (с использованием синтаксиса метода):
var _Results = _List.Where(x => x.Value == 1);
Интересно отметить, что обаэти ароматы в итоге приведут к тому же коду.Компилятор предлагает вам услугу, позволяя вам выразить ваши пожелания так, как вы предпочитаете.
И Этот является лямбда-выражением:
x => x.Value == 1
Когда вы выбираетеЧтобы использовать синтаксис метода, LINQ почти всегда можно увидеть вокруг лямбда-выражений.Но LINQ и lambdas - это две совершенно разные вещи, обе из которых могут использоваться сами по себе.
Обновление: Как справедливо указывает СвикLINQ с синтаксисом запроса также реализован с использованием лямбда-выражений (как упоминалось ранее, компилятор позволяет писать в синтаксисе запроса, но эффективно преобразует его в синтаксис метода за вашей спиной).Это просто накапливает тот факт, что оба варианта полностью эквивалентны и будут вести себя одинаково (например, лямбда-выражения могут привести к созданию замыканий ).