C#でrecordを使う方法は何ですか?

C# 9で導入された新しいrecord型は、関連するプロパティを持つ値を表す不変のデータ型です。record型の作成と使用は非常に簡単であり、以下は一般的な使用例です。

  1. record型の定義:
public record Person
{
    public string FirstName { get; init; }
    public string LastName { get; init; }
}

上記のコードは、Personという名前のrecordタイプを定義しており、このタイプには読み取り専用の属性であるFirstNameとLastNameがあります。

  1. recordオブジェクトを作成します。
Person person = new Person { FirstName = "John", LastName = "Doe" };

上記のコードは、Personオブジェクトを作成し、その属性に初期値を指定しました。

  1. recordオブジェクトの属性にアクセスする。
Console.WriteLine(person.FirstName); // 输出:John
Console.WriteLine(person.LastName); // 输出:Doe

recordオブジェクトのプロパティは、”.”を使ってアクセスされます。

  1. recordオブジェクトを比較する。
Person person1 = new Person { FirstName = "John", LastName = "Doe" };
Person person2 = new Person { FirstName = "John", LastName = "Doe" };

Console.WriteLine(person1 == person2); // 输出:True

上のコードは、2つのrecordオブジェクトの値が等しいかどうかを比較するために “==”演算子を使用し、record型は自動的に値の比較ロジックを実装します。

  1. recordオブジェクトのプロパティを更新します。
Person updatedPerson = person with { FirstName = "Jane" };

with文を使ってレコードオブジェクトの属性を更新すると、新しいレコードオブジェクトが返されます。

record型は変更できないことに注意する必要があります。つまり、作成されたら属性の値を変更することはできません。属性の値を更新する場合は、新しいrecordオブジェクトを作成するためにwith式を使用する必要があります。この特性により、record型は不変のデータを表すのに適しており、例えばDTO(Data Transfer Object)やドメインモデルなどに適しています。

bannerAds