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 :) –