Erweiterungsmethoden-Syntax vs. Abfragesyntax

Ich versuche herauszufinden, ob es einen guten Zeitpunkt gibt, Standard-Linq-Schlüsselwörter oder Linq-Erweiterungsmethoden mit Lambda-Ausdrücken zu verwenden. Sie scheinen dasselbe zu tun, sind nur unterschiedlich geschrieben. Ist es nur eine Frage des Stils?

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);

Sie sind sich sehr ähnlich, wobei das zweite Beispiel etwas knapper ist, aber vielleicht weniger aussagekräftig, wenn Sie nicht wissen, was das => tut.

Neben dem Schreiben von Kurzcode bietet die Verwendung der Erweiterungsmethoden weitere Vorteile im Gegensatz zur LINQ-Syntax?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage