メソッド構文もやればできる子でしたで、
※ILSpyで前回のクエリ式方式の方のアセンブリを見てみましたが、クエリ式のまま復元されてて確認できず・・・
って書いたんですが、さっそくMVP for LINQたる(しつこい)@neueccさんから
http://twitter.com/#!/neuecc/status/100944553644802048
ILSpyはOptionでクエリ構文とメソッド構文を切り替えられますよー。普通に、どう変換されるかよくわかってためになりますねー。
と教えていただきました!
んで
[View]メニュー→[Options]から
[Decompile query expressions]のチェックを外してやります。
そうすると・・・
var q = from parent in XElement.Parse(rsp).Element("root").Elements("parent")
from child in parent.Elements("child")
from item in child.Elements("item")
select new { Parent = parent, Child = child, Item = item };
これが
var enumerable = XElement.Parse(text).Element("root").Elements("parent").SelectMany((XElement parent) => parent.Elements("child"), (XElement parent, XElement child) => new
{
parent = parent,
child = child
}).SelectMany(<>h__TransparentIdentifier0 => <>h__TransparentIdentifier0.child.Elements("item"), (<>h__TransparentIdentifier0, XElement item) => new
{
Parent = <>h__TransparentIdentifier0.parent,
Child = <>h__TransparentIdentifier0.child,
Item = item
});
こうなることが確認できました!予想通り、ほぼおんなじ形でしたね。
まとめ
ILSpy便利!