Loại Nullable<T>
được định nghĩa là struct
. Trong. Net, bạn không thể chỉ định null
cho một struct
vì structs
là các loại giá trị không thể được thể hiện bằng null
(ngoại trừ Nullable<T>
).Cách thức .Net Cho phép Nullables được đặt thành Null
int i = null; // won't compile - we all know this
int? i = null; // will compile, and I'm glad it does, and it should compile, but why?
Làm sao Nullable<T>
trở thành một ngoại lệ đối với quy tắc "Bạn không thể gán null
đến một loại giá trị?" Mã được biên dịch cho Nullable<T>
không cung cấp thông tin chi tiết về cách điều này xảy ra.
bản sao có thể có của [các kiểu nullable được triển khai như thế nào dưới mui xe trong .net?] (Http://stackoverflow.com/questions/2503811/how-are-nullable-types-implemented-under-the-hood-in -net) –