Code Fix

上級record と class で == の結果が変わる理由 › パターン2

record と class で == の結果が変わる理由

recordはプロパティの値が全て同じなら==がtrueになる値ベースの等価性を自動生成します。

 1  _________ Money(decimal Amount, string Currency);
        ^
 2  class Program {
 3      static void Main(string[] args) {
 4          Money a = new Money(1000, "JPY");
 5          Money b = new Money(1000, "JPY");
 6          System.Console.WriteLine(a == b);
 7      }
 8  }
出力: False

空欄を埋めてビルドを通す

広告
広告スロット(未設定)

record と class で == の結果が変わる理由

classは既定で参照ベースの等価性のままです。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)