c#声明变量加问号(?)的区别 DateTime StartTime和DateTime?
新的语法,可空值类型。
如Int32、结构体等这样的类型是不可能为空的,常见的如int,DateTime都是不可能为空的。所以在需要判断是否有值的场合,可以用加问号的可空值类型,如int?,DateTime?
这时,可以为空(null),并且可以通过它的HasValue属性来判断是否有值,并通过Value属性获得真正的值。
它可以通过对包装类型直接赋值的方式隐式创建,如:
int? a=32;
具体的,可以搜索“可空值类型”来了解更多信息。