En utilisant les compilateurs C# caractéristiques de compréhension de requête, vous pouvez écrire du code comme:code équivalent au mot-clé « let » dans la méthode d'extension LINQ enchaîné appelle
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;
Dans l'expression de requête ci-dessus, le mot-clé let
permet une valeur à transmettre aux opérations where et orderby sans appels en double à animalName.Length
.
Quel est l'ensemble équivalent d'appels de méthode d'extension LINQ qui réalise ce que le mot clé "let" fait ici?
FYI, la spécification C# 3.0 explique chaque règle de traduction de la requête dans des détails atroces. –
et pour ceux qui trouvent la spécification lourde, C# in Depth de Jon Skeet le couvre aussi ;-p –
Je l'aime quand je suis tout comme "je me demande comment le mot-clé" let "correspond aux méthodes d'extension ... Je vais google, mais je doute que ma recherche trouve autre chose que de la camelote ... SO FTW! " – Will