.NETs LINQ Revolutionary hat die Fähigkeit von Entwicklern verbessert, einfachen und effizienten Code zu schreiben. Die Wahl zwischen glatten Grammatik und Ausdrucksuntersuchungen und Grammatik kann jedoch nur eine Präferenz für manche Menschen sein. Lassen Sie uns ihre jeweiligen Vorteile untersuchen, um ihre anwendbaren Szenarien zu klären.
Anfragen in den Anfragen in komplexer Abfrage
Bei der Verarbeitung komplexer Abfragen mit mehreren Bereichsvariablen funktioniert die Abfragegrammatik gut. Diese Situation erscheint in der folgenden Szene:
verwenden Schlüsselwort
let
from
Betrachten Sie das folgende Beispiel: Glatte Grammatik: Einfachheit und Flexibilität
<code class="language-csharp">string[] fullNames = { "Anne Williams", "John Fred Smith", "Sue Green" }; var query = from fullName in fullNames from name in fullName.Split() orderby fullName, name select name + " came from " + fullName;</code>
einfache Anfragen, die keine hohen Funktionen benötigen, ist eine glatte Grammatik besser. Es bietet eine prägnantere und direktere Möglichkeit, Ihre Anfragen auszudrücken, insbesondere wenn Sie mit weniger komplizierten Operationen zu tun haben. Darüber hinaus kann eine reibungslose Grammatik auf alle Abfragebetreiber zugreifen.
zum Beispiel: Die Vorteile der beiden Methoden
Sie können Abfragen und Methodengrammatik kombinieren, um ihre jeweiligen Vorteile zu nutzen. Dies ist in LINQ sehr häufig auf SQL -Abfrage:
<code class="language-csharp">var query = fullNames .SelectMany(fName => fName.Split().Select(name => new { name, fName })) .OrderBy(x => x.fName) .ThenBy(x => x.name) .Select(x => x.name + " came from " + x.fName);</code>
Am Ende hängt die Wahl zwischen glatten Grammatik und Abfrageausdruck von der Art der Abfrage ab. Für komplexe Abfragen mit mehreren Bereichsvariablen bietet der Abfrageausdruck Flexibilität und Lesbarkeit.
Das obige ist der detaillierte Inhalt vonFluent vs. Abfrageausdruck in LINQ: Wann sollte ich welche Syntax verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!