如果值類型是對象(我已經看到ValueType確實繼承自Object)爲什麼它們不像Object一樣?它們不能爲空,所以看起來它們沒有參考,並且它們必須被裝箱/拆箱。當作爲參數傳遞時,它們的行爲與原始類似,但由於您可以調用它們的方法,它們似乎也可以作爲參考類型。我讀過它們通常分配在堆棧上,這使得它們再次成爲值類型。就拳擊而言,我看不到int和Integer的Java等價物,只是Int32結構,所以如果Int32被裝箱,它將裝入什麼?.NET基元在值世界中看起來是一半,在參考世界中看起來是一半
總之,如果有人可以解決他們在一個世界上看起來如何一半是另一半,我一定會很感激。
您需要重新校準您的期望值。你似乎相信如果某物是物體,它必須是可空的。這是你的問題。沒有理由爲什麼一個對象必須是可空的。 –
爲什麼你認爲應該有一個相當於Java的int和Integer?這可能是Java語言最愚蠢的設計決定之一! –