Kann eine Methodenkette LINQ heißen?

8

Ist es richtig, dieses Code-Snippet LINQ (Language Integrated Query ) aufzurufen?

%Vor%

Ich bin verwirrt, weil System.Linq obligatorisch ist für diesen Code.
Allerdings, wenn ich Fragen und Antworten wie folgt sehe: .NET LINQ-Abfrage-Syntax vs Methode Kette , dann sprechen sie explizit über eine Methodenkette und nicht über LINQ.

    
MaxPower 06.09.2017, 08:41
quelle

1 Antwort

11

LINQ kann auf zwei verschiedene Arten geschrieben werden.
Eine besteht darin, eine Abfrage mithilfe der deklarativen LINQ-Abfragesyntax zu schreiben:

%Vor%

Und das andere ist, indem Sie die Erweiterungsmethoden von LINQ verwenden:

%Vor%

Beide Abfragen sind identisch und ergeben das gleiche Ergebnis (nun, Compilerfehler in diesem übermäßig vereinfachten Beispiel, aber es ist der Gedanke, der zählt: -))

Der c # -Compiler übersetzt die Abfrage in Methodenaufrufe.
Dies bedeutet, dass alles, was Sie als Abfrage schreiben, auch mit Methodenketten geschrieben werden kann. Beachten Sie jedoch, dass das Gegenteil falsch ist. Einige Abfragen können nur mit den Erweiterungsmethoden von Linq geschrieben werden.

Zum Weiterlesen, was Microsoft darüber zu sagen hat.

Beachten Sie, dass der zweite Absatz damit beginnt:

  

Abfragesyntax und Methodensyntax sind semantisch identisch, aber viele Leute finden die Abfragesyntax einfacher und einfacher zu lesen.

btw, wenn es nicht schon klar war, ist der Grund, dass System.Linq für die Syntax der Methodenverkettung obligatorisch ist, auch, weil die Linq-Erweiterungsmethoden zu diesem Namensraum gehören.

    
Zohar Peled 06.09.2017, 08:50
quelle

Tags und Links