SelectMany

まだ全部のクエリ演算子を実際に試したわけじゃないので時間見つけて触っていかなきゃ(現在バイト中...)。さて、今日は今までなんとなくスルーしてたSelectManyを楽しもう。

new[] {
	new { Prop = new[] { 1, 2, 3, } },
	new { Prop = new[] { 4, 5, 6, } },
	new { Prop = new[] { 7, 8, 9, 10, } },
}
.SelectMany( x => x.Prop )
.ToList()
.ForEach( Console.Write );

なるへそ〜。"平坦化"の意味が分かった。MSDNにあるけど、遅延実行されるそうな。
selectなりforeachが入れ子になるような場合に便利かも。


参考:
http://msdn2.microsoft.com/ja-jp/library/bb534336.aspx
http://www.microsoft.com/japan/msdn/net/bb394939.aspx