Синтаксис методов расширения против синтаксиса запросов

Я пытаюсь понять, есть ли время использовать стандартные ключевые слова linq или методы расширения linq с лямбда-выражениями. Кажется, они делают одно и то же, просто пишутся по-разному. Это чисто вопрос стиля?

var query = from p in Products
    where p.Name.Contains("foo")
    orderby c.Name
    select p;

// or with extension methods:
var query = Products
    .Where(p => p.Name.Contains("foo"))
    .OrderBy(p => p.Name);

Они очень похожи, второй пример немного более краткий, но, возможно, менее выразительный, если вы не знаете, что делает =>.

Кроме написания краткого кода, есть ли другие преимущества использования методов расширения по сравнению с синтаксисом LINQ?

Ответы на вопрос(7)

Ваш ответ на вопрос