上級 › record と class で == の結果が変わる理由 › パターン4
record と class で == の結果が変わる理由
recordはプロパティの値が全て同じなら==がtrueになる値ベースの等価性を自動生成します。
1 _________ Pair(string A, string B); ^ 2 class Program { 3 static void Main(string[] args) { 4 Pair a = new Pair("x", "y"); 5 Pair b = new Pair("x", "y"); 6 System.Console.WriteLine(a == b); 7 } 8 }
出力: False
空欄を埋めてビルドを通す
recordは各プロパティの値が全て同じなら等しいと判定します。classだと参照比較になり同じ値でもfalseです。
次の問題