Niedawno podczas przeglądu jednej z koncepcji natknąłem się na interesującą sytuację i chcę wiedzieć, dlaczego tak się dzieje.Nullable Types in .Net Programming Language
Wiemy jedno pojęcie, że nie można przypisać wartości null do wartości typy tj Struct
, int
, DateTime
itd
w celu przyporządkowania null
musimy zerowalne typu IE
int i
powinien zostać zastąpiony z Nullable<int> i = null
Ale jeśli widzimy Nullable<T>
to również od typu struct
to dlaczego null
mogą być przypisane bez stat którykolwiek błąd? Dlaczego Microsoft zaprzecza własnemu stwierdzeniu "Null nie można przypisać do typu wartości"
Jeśli ktoś zna przyczynę tego?
Twój kompilator wie, jak wygląda typ wartości zerowej. Nie * faktycznie * przypisuje do niego * wartość zerową *. Użyj ildasm.exe, aby zobaczyć, co naprawdę robi. –