0
如何將下列查詢表達式轉換爲相應的C#代碼?謝謝。LINQ問題:將查詢表達式映射到c#代碼
var list1 = (from ol in orderedList
from er in ol.Er
from rd in er.Rd
where rd.ftr != ""
select ol).ToList<CRInfo>();
如何將下列查詢表達式轉換爲相應的C#代碼?謝謝。LINQ問題:將查詢表達式映射到c#代碼
var list1 = (from ol in orderedList
from er in ol.Er
from rd in er.Rd
where rd.ftr != ""
select ol).ToList<CRInfo>();
這將轉化爲這樣的事情:
var list1 = orderedList.SelectMany(ol => ol.Er, (ol, er) => new { ol, er })
.SelectMany(z => z.er.Rd, (z, rd) => new { z, rd })
.Where(z2 => z2.rd.frt != "")
.Select(z2 => z2.z.ol)
.ToList<CRInfo>();
的「Z」和「Z2」位透明標識符,使用C#編譯器通過查詢傳播多範圍的變量。
你可能想下載LINQPad,我相信你可以很容易地翻譯這樣的查詢表達式。
好了,除了明顯的事實,你的代碼已經 C#代碼...
我假設你想獲得實際可枚舉的方法調用?如果是這樣,你可以編譯它並把它扔進Reflector。
這是C#代碼。 – spender 2010-12-06 09:53:14