「LINQ - 拡張メソッド一覧」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
 
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>

案内メニュー