C# 9.0 で導入された record 型について、== 演算子による比較の既定の挙動として正しいものはどれですか?
record 型は、値の等価性(value equality)を既定でサポートする型です。コンパイラーが Equals や GetHashCode、== 演算子を自動生成し、型が同じで、すべてのインスタンスフィールドの値が等しければ、別のインスタンス同士でも == は true を返します。通常のクラスでは、== は既定で参照の同一性を比較するため、この点が大きな違いです。record には with 式による非破壊的な変更や、ToString の自動生成といった機能もあり、データを保持するための不変オブジェクトを簡潔に定義できます。