「LINQ - 拡張メソッド一覧」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし
編集の要約なし |
編集の要約なし |
||
196行目: | 196行目: | ||
// { Name = Java, Age = 16}, | // { Name = Java, Age = 16}, | ||
// { Name = C#, Age = 11 }} | // { Name = C#, Age = 11 }} | ||
</source> | |||
<br><br> | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! メソッド名 !! 機能 | |||
|- | |||
| Select || 1つの要素を単一の要素に射影する。 | |||
|- | |||
| SelectMany || 1つの要素から複数の要素に射影する。その結果を1つのシーケンスとして返す。 | |||
|- | |||
| GroupBy || 指定のキーで要素をグループ化する。その"キーとグループ" のシーケンスを返す。 | |||
|} | |||
</center> | |||
<source lang="c#"> | |||
var source = new[] { | |||
new{Name = "C#", Age = 11}, | |||
new{Name = "Java", Age = 16}, | |||
new{Name = "Groovy", Age = 8}, | |||
new{Name = "Scala", Age = 8}, | |||
}; | |||
Console.WriteLine(source.Select(e => e.Name).ToResult()); | |||
// → {C#, Java, Groovy, Scala} | |||
Console.WriteLine(source.SelectMany(e => e.Name.ToCharArray()).ToResult()); | |||
// → {C, #, J, a, v, a, G, r, o, o, v, y, S, c, a, l, a} | |||
Console.WriteLine(source.GroupBy(e => e.Age).ToResult()); | |||
// → {Key=11, Source={{ Name = C#, Age = 11 }}, | |||
// Key=16, Source={{ Name = Java, Age = 16 }}, | |||
// Key=8, Source={{ Name = Groovy, Age = 8 }, { Name = Scala, Age = 8 }}} | |||
</source> | </source> | ||
<br><br> | <br><br> |