上級 › 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にすると、比較のたびにEqualsを書かずに済みます。
次の問題