Alv*_*n S 70 .net c# syntax datetime nullable
我正在阅读.Net书籍,在其中一个代码示例中,有一个带有此字段的类定义:
private DateTime? startdate
什么DateTime?意思?
Tho*_*mas 131
因为DateTime是a struct而不是a ,所以当声明该类型的字段或变量时class,会得到一个DateTime 对象,而不是一个引用.并且,以与int不可能相同的方式null,因此该DateTime对象永远不能为空,因为它不是引用.
添加问号会将其变为可以为空的类型,这意味着它既可以是null对象,也可以是DateTime.
null是语法糖DateTime?,其Nullable<DateTime>本身就是一个Nullable.
Jor*_*ira 13
一个?作为值类型的后缀允许空值分配,这是不可能的.
http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx
表示一个对象,其基础类型是值类型,也可以为其指定空引用.
这意味着您可以编写如下内容:
    DateTime? a = null;
    if (!a.HasValue)
    {
        a = DateTime.Now;
        if (a.HasValue)
        {
            Console.WriteLine(a.Value);
        }
    }
约会时间?在语法上等同于Nullable <DateTime>.
它基本上为基元提供了额外的状态.它可以是值,也可以为null.在不需要分配值的情况下,它可能很有用.因此,不是使用例如datetime.min或max,而是将其赋值为null以表示无值.
| 归档时间: | 
 | 
| 查看次数: | 61822 次 | 
| 最近记录: |