上級 › record と class で == の結果が変わる理由 › パターン3
record と class で == の結果が変わる理由
recordはプロパティの値が全て同じなら==がtrueになる値ベースの等価性を自動生成します。
1 _________ Range(int Start, int End); ^ 2 class Program { 3 static void Main(string[] args) { 4 Range a = new Range(0, 10); 5 Range b = new Range(0, 10); 6 System.Console.WriteLine(a == b); 7 } 8 }
出力: False
空欄を埋めてビルドを通す
区間のような不変のデータもrecordに向いています。プロパティが全て同じなら等しいと判定されます。
次の問題