【C#】LinqのGroupByを自作クラスでグループ化(レコード型編)

はじめに

以前、【C#】LinqのGroupByを自作クラスでグループ化という記事を書き、これはIEquatableを実装する事で実現できるという内容でした。
前回から時が経ち、レコード型というものが追加されました。レコード型についてはこのページが詳しいです。
レコード型の説明に、レコード型を書くと自動的に == や Equals などの等値判定用のメソッド・演算子が追加されます。という記述があり、これを使えばIEquatableの実装する必要ないのでは?と思い試してみました。

コード

public record SomeGroup
{
    public string Key1 { get; set; }

    public string Key2 { get; set; }
}

たったこれだけで実現できました。
IEquatableを実装し、EqualsやGetHashCodeまで書く必要があった前回とは大違いです。
ただし、レコード型はC#9.0からの機能なので、古いバージョンでは使用できません。

未分類C#

Posted by ababa