を呼び出すには、あなたのようなコードを書くことができます。コードと同等の連鎖LINQの拡張メソッドは、C#コンパイラクエリの理解機能を使用
上記のクエリ式で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;
、let
キーワードが値を許可しますanimalName.Length
への重複呼び出しなしに、whereおよびorderby操作に渡されます。
「let」キーワードがここで行うことを実現するLINQ拡張メソッド呼び出しの同等のセットは何ですか?
FYIでは、C#3.0の仕様では、すべてのクエリの読み込みの変換ルールについて非常に悲惨なものが説明されています。 –
と仕様が重くなっている人は、Jon SkeetのC#Depthでそれをカバーしています; -p –
私は「let」というキーワードが拡張メソッドにどのようにマップされているのだろうか? googleそれが私の検索は何かを見つけることは疑いがありますが、ジャンク...だからFTW! – Will