C# 为什么私有变量定义上有问号?
我正在读一篇关于MVVP模式以及如何用WPF实现它的文章。在源代码中有多行代码,我无法理解其中的问号代表什么C# 为什么私有变量定义上有问号?,c#,nullable,C#,Nullable,我正在读一篇关于MVVP模式以及如何用WPF实现它的文章。在源代码中有多行代码,我无法理解其中的问号代表什么 private DateTime? _value; 定义中的?是什么意思?我试图在VS的帮助中找到它,但失败。这意味着类型为 它是一个可为空的值。默认情况下,结构不能为Null,它们必须有一个值,因此在C#2.0中,nullable类型被引入.NET Framework C#用一块语法糖实现了Nullable类型,它在类型名称后面加了一个问号,从而使以前不可为null的类型可以为Nul
private DateTime? _value;
定义中的
?
是什么意思?我试图在VS的帮助中找到它,但失败。这意味着类型为 它是一个可为空的值。默认情况下,结构不能为Null,它们必须有一个值,因此在C#2.0中,nullable
类型被引入.NET Framework
C#用一块语法糖实现了
Nullable
类型,它在类型名称后面加了一个问号,从而使以前不可为null的类型可以为Nullable 这意味着该字段是一个可为空的,即可以为空的日期时间这是一个可为空的类型,您可以为其分配空值私有日期时间_value-表示_值可为空。请查看此链接以获得更好的解释
希望这有帮助
谢谢,
Raja不能为空
DateTime
DateTime dt = null; // Error: Cannot convert null to 'System.DateTime'
because it is a non-nullable value type
可以为空
DateTime? / Nullable<DateTime>
DateTime? dt = null; // no problems
DateTime?/可空
约会时间?dt=null;//没问题
我删除了WPF标签,因为它与WPF无关……谢谢您的回答。这不在msdn的indox中,这是很糟糕的。更具体地说,它可能是一个可空值类型的副本。