die # Compiler Abfrage-Funktionen C verwenden, können Sie Code wie schreiben:-Code entspricht das Verfahren ‚lassen‘ Schlüsselwort in gekettet LINQ Erweiterung ruft
var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" };
var result =
from animalName in names
let nameLength = animalName.Length
where nameLength > 3
orderby nameLength
select animalName;
In dem Abfrageausdruck oben, das let
Schlüsselwort ermöglicht einen Wert an die Where- und Orderby-Operationen ohne doppelte Aufrufe an animalName.Length
weitergeleitet werden.
Was ist das Äquivalent Satz von LINQ-Extension-Methode aufruft, das erreicht, was die „let“ Stichwort hier tut?
FYI, die C# 3.0-Spezifikation erklärt in allen Einzelheiten jede Abfrage-Übersetzungsregel. –
und für diejenigen, die die Spezifikation schwer gehen, Jon Skeet C# in Depth finden deckt es zu ;-p –
Ich liebe es, wenn ich alle wie „bin frage mich, wie die' let' Schlüsselwort Karten Erweiterungsmethoden ... Ich werde google es, aber ich bezweifle, dass meine Suche alles andere als Müll finden wird ... SO FTW! " – Will