1
我正在使用(更多可重用的)泛型等價物從舊的項目中重新生成一些容器類。我似乎年前已經去我的方式,以確保TKey
類型Dictionary
是一個int
,而不是我的容器的T
型(在這種情況下,T
是long
)。如果C#字典在x86上具有64位TKey,會發生什麼情況?
如果我改寫這個以允許使用long
,那麼Dictionary
類中真正發生了什麼?它是否會強制將64位值類型TKey
散列到32位int中?也許是這樣的:
int hashKey32bit = tkey.GetHashCode();
它只是調用'tkey.GetHashCode()' - 不轉換爲'object'因爲'GetHashCode()'已經是所有可能類型的成員。無論如何,如果你把鑰匙改成「長」,它應該會起作用。 –
@MthetheWWatson哦,你說得對,拳擊是不需要的,我會編輯 –