|
|
15行目: |
15行目: |
| return source.Select(group => string.Format("Key={0}, Source={1}", group.Key, group.ToResult())).ToResult(); | | return source.Select(group => string.Format("Key={0}, Source={1}", group.Key, group.ToResult())).ToResult(); |
| } | | } |
| </syntaxhighlight>
| |
| <br><br>
| |
|
| |
| == 集計 ==
| |
| <center>
| |
| {| class="wikitable" | style="background-color:#fefefe;"
| |
| |-
| |
| ! style="background-color:#66CCFF;" | メソッド名
| |
| ! style="background-color:#66CCFF;" | 機能
| |
| |-
| |
| | Max || 最大値を返す。
| |
| |-
| |
| | Min || 最小値を返す。
| |
| |-
| |
| | Average || 平均値を返す。
| |
| |-
| |
| | Sum || 合計を返す。
| |
| |-
| |
| | Count || 要素数を返す。
| |
| |-
| |
| | Aggregate || アキュムレータ関数で処理した結果を返す。
| |
| |}
| |
| </center>
| |
| <syntaxhighlight lang="c#">
| |
| var source = new[] { 3, 4, 5, 6, 7, 8, 9, 9 };
| |
|
| |
| Console.WriteLine(source.Max());
| |
| // → 9
| |
|
| |
| Console.WriteLine(source.Min());
| |
| // → 3
| |
|
| |
| Console.WriteLine(source.Average());
| |
| // → 6.375
| |
|
| |
| Console.WriteLine(source.Sum());
| |
| // → 51
| |
|
| |
| Console.WriteLine(source.Count());
| |
| // → 8
| |
|
| |
| Console.WriteLine(source.Aggregate((now, next) => now * next));
| |
| // → 1632960
| |
|
| |
| // 参考:標本分散
| |
| double ave = source.Average();
| |
| Console.WriteLine(source.Sum(e => Math.Pow(e - ave, 2)) / source.Count());
| |
| // → 4.484375
| |
| </syntaxhighlight> | | </syntaxhighlight> |
| <br><br> | | <br><br> |