LoginSignup
6
9

.NET 9で登場予定のLINQのメソッド

Posted at

参考

この記事は、以下の動画を参考にしています。詳しくは、動画をご覧ください。

以下の記事にも、同じメソッドについての言及があります。

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();
6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9