2
var result = from c1 in a1
from c2 in a1.a2
from c3 in a1.a2.a3
select new { c1.id, c2.id, c3.id };
が、これはコンパイラが上記のクエリ式から生成されるコードです:これはコンパイラが次のクエリ式から生成するコードですか?
var result = a1.SelectMany(
c1 => a1.a2.SelectMany(
c2 => a1.a2.a3.Select(
c3 => new {c1,c2,c3})));
あなたは正しいあなた
それはILまでこれらをコンパイルが含まれていますです。 Reflectorのような逆アセンブラを使って、このILを見ることができます。 – Oded
@Oded:クエリ構文から拡張メソッドへの変換はありますか?とにかくOPはそれが同等かどうか尋ねます。 –
コンパイラが生成するコードに疑問がある場合LINQPad :) –