В C # struct
s являются типами значений, тогда как class
es являются ссылочными типами.
struct
s нельзя сделать null
, поэтому вы должны использовать класс Nullable<T>
, чтобы превратить его во что-то, что может быть аннулировано.
Это можно сделать, либо напрямую используя класс Nullable<T>
в объявлении:
Nullable<MyStruct> foo;
Или используя синтаксический сахар для Nullable<T>
:
MyStruct? foo;