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