小智 17
通过使用Generic Nullable <>类来包装它,可以使结构和值类型可为空.例如:
Nullable<int> num1 = null;
Run Code Online (Sandbox Code Playgroud)
C#通过在类型后添加问号为此提供语言功能:
int? num1 = null;
Run Code Online (Sandbox Code Playgroud)
同样适用于任何值类型,包括结构.
MSDN说明:可空类型(c#)
您可以使用Nullable<T>哪个在C#中有别名.请记住,struct本身并不是null(编译器在幕后不同地处理null).它更像是一种Option类型.
Struct? value = null;
Run Code Online (Sandbox Code Playgroud)
由于@CodeInChaos提及Nullable<T>仅在处于非null状态时被装箱.