盒裝值型別的轉換
即使兩個 Type
的轉換有效,盒裝值型別也只能拆箱到原始的 Type
中,例如:
object boxedInt = (int)1; // int boxed in an object
long unboxedInt1 = (long)boxedInt; // invalid cast
這可以通過首先拆箱到原始的 Type
來避免,例如:
long unboxedInt2 = (long)(int)boxedInt; // valid
即使兩個 Type
的轉換有效,盒裝值型別也只能拆箱到原始的 Type
中,例如:
object boxedInt = (int)1; // int boxed in an object
long unboxedInt1 = (long)boxedInt; // invalid cast
這可以通過首先拆箱到原始的 Type
來避免,例如:
long unboxedInt2 = (long)(int)boxedInt; // valid