参考
この記事は、以下の動画を参考にしています。詳しくは、動画をご覧ください。
以下の記事にも、同じメソッドについての言及があります。
CountBy
引数で指定したselectorが戻すキーの値ごとに、要素数を数える。
戻り値は、キーと要素数のペアのコレクション。
従来なら、GroupBy
, Select
, Count
を組み合わせて書いていたところ。
// .NET 8
var oldResult = items.GroupBy(x => x.Key).Select(g => (g.Key, g.Count());
// .NET 9
var newResult = items.CountBy(x => x.Key);
AggregateBy
引数で指定したkeySelectorが戻すキーの値ごとに、集計する。
戻り値は、キーと集計値のペアのコレクション。
// .NET 9
var keyValuePairs = items.AggregateBy(seed: 0,
func: (total, x) => total += x.Value,
keySelector: x => x.Key);
Index
戻り値は、要素番号と要素のペアのコレクション。
従来なら、Select
のバリエーションを使っていたところ。
// .NET 8
var oldResult = items.Select((x, index) => (index, x));
// .NET 9
var newResult = items.Index();