共用方式為


標示 InlineArrayAttribute 的類型預設擲回 Equals()GetHashCode()

標記 InlineArrayAttribute 的類型上 Equals(Object)GetHashCode() 的預設行為現在是擲回 NotSupportedException。 如果程式庫作者預期不要擲回,則應覆寫這兩個方法。

先前的行為

先前,預設實作只會在計算等式或雜湊程式碼時使用預留位置 ref 欄位。

新的行為

從 .NET 9 開始,在將 InlineArrayAttribute 套用至類型時,一律會從 Equals(Object)GetHashCode() 的預設實作擲回 NotSupportedException

導入的版本

.NET 9 Preview 6

中斷性變更的類型

此變更為行為變更

變更原因

目前的行為對於判斷等式和計算雜湊程式碼不正確,而且呼叫這些函式時,會導致使用者誤判正確性。

程式庫作者應該在標示 InlineArrayAttribute 的所有類型上實作 Equals(Object)GetHashCode()

受影響的 API