我正在阅读一篇关于MVVP模式以及如何使用WPF实现它的文章。在源代码中有多行,我无法弄清楚它中的问号代表什么。
private DateTime? _value;
?
在定义中意味着什么?我试图在VS的帮助下找到它,但失败了。
答案 0 :(得分:44)
这是一个可以为空的价值。默认情况下,结构不能为空,它们必须具有值,因此在C#2.0中,Nullable<T>
类型被引入.NET Framework。
C#使用一段语法糖实现Nullable<T>
类型,在类型名称后面放置一个问号,从而使以前不可为空的类型可为空。
答案 1 :(得分:8)
这意味着类型为Nullable。
答案 2 :(得分:8)
不能为空
DateTime
DateTime dt = null; // Error: Cannot convert null to 'System.DateTime'
because it is a non-nullable value type
可以为null
DateTime? / Nullable<DateTime>
DateTime? dt = null; // no problems
答案 3 :(得分:5)
这是一个可以为空的类型,您可以为其指定空值
答案 4 :(得分:2)
这意味着该字段为Nullable<DateTime>
,即DateTime
可以为空
答案 5 :(得分:2)
私人日期时间? _value - 表示_value可以为空。请查看此链接以获得更好的解释。
http://davidhayden.com/blog/dave/archive/2005/05/23/1047.aspx
希望这有帮助。
谢谢, 拉加