「LINQ - 拡張メソッド一覧」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし
編集の要約なし |
編集の要約なし |
||
94行目: | 94行目: | ||
</source> | </source> | ||
<br><br> | <br><br> | ||
== 集計 == | == 集計 == | ||
<center> | <center> | ||
138行目: | 139行目: | ||
Console.WriteLine(source.Sum(e => Math.Pow(e - ave, 2)) / source.Count()); | Console.WriteLine(source.Sum(e => Math.Pow(e - ave, 2)) / source.Count()); | ||
// → 4.484375 | // → 4.484375 | ||
</source> | |||
<br><br> | |||
== ソート == | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! メソッド名 !! 機能 | |||
|- | |||
| OrderBy || 昇順にソートしたシーケンスを返す。 | |||
|- | |||
| OrderByDescending || 降順にソートしたシーケンスを返す。 | |||
|- | |||
| ThenBy || ソートしたシーケンスに対し、キーが等しい要素同士を昇順にソートしたシーケンスを返す。 | |||
|- | |||
| ThenByDescending || ソートしたシーケンスに対し、キーが等しい要素同士を降順にソートしたシーケンスを返す。 | |||
|- | |||
| Reverse || 逆順にソートしたシーケンスを返す。 | |||
|} | |||
</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.OrderBy(e => e.Age).ToResult()); | |||
// → {{ Name = Groovy, Age = 8 }, | |||
// { Name = Scala, Age = 8 }, | |||
// { Name = C#, Age = 11 }, | |||
// { Name = Java, Age = 16 }} | |||
Console.WriteLine(source.OrderByDescending(e => e.Age).ToResult()); | |||
// → {{ Name = Java, Age = 16 }, | |||
// { Name = C#, Age = 11 }, | |||
// { Name = Groovy, Age = 8 }, | |||
// { Name = Scala, Age = 8 }} | |||
Console.WriteLine(source.OrderBy(e => e.Age).ThenBy(e => e.Name.Length).ToResult()); | |||
// → {{ Name = Scala, Age = 8 }, | |||
// { Name = Groovy, Age = 8 }, | |||
// { Name = C#, Age = 11 }, | |||
// { Name = Java, Age = 16 }} | |||
Console.WriteLine(source.OrderBy(e => e.Age).ThenByDescending(e => e.Name.Length).ToResult()); | |||
// → {{ Name = Groovy, Age = 8 }, | |||
// { Name = Scala, Age = 8 }, | |||
// { Name = C#, Age = 11 }, | |||
// { Name = Java, Age = 16 }} | |||
Console.WriteLine(source.Reverse().ToResult()); | |||
// → {{ Name = Scala, Age = 8 }, | |||
// { Name = Groovy, Age = 8 }, | |||
// { Name = Java, Age = 16}, | |||
// { Name = C#, Age = 11 }} | |||
</source> | </source> | ||
<br><br> | <br><br> |