我如何检查DateTime是否为null

时间:2019-04-08 02:54:09

标签: c# datetime properties

如果(string.IsNullOrEmpty(value))是字符串,那么检查Datetime是否为空的代码是什么?

"build": {
    "productName": "MyApp",
    "appId": "org.dev.MyApp",
    "files": [
        "app/dist/",
        "app/app.html",
        "app/main.prod.js",
        "app/main.prod.js.map",
        "package.json",
        "file.json", // << added this line
    ],
    //...
}

2 个答案:

答案 0 :(得分:5)

ValueType?模式是Nullable<ValueType>的简写。就您而言,您有Nullable<DateTime>

从文档中可以看到,Nullable<ValueType>实现了HasValue属性,因此您可以像这样简单地对其进行检查:

if (value.HasValue)
{

}
else
{

}

如果只想设置默认值,则可以使用GetValueOrDefault的{​​{1}}方法,并删除if语句:

Nullable<T>

答案 1 :(得分:2)

对于 nullbale 类型,您可以使用HasValue!= null

不过,对于您的示例(显示了代码),您还有更多选择

public DateTime? ReleaseDate
{
    get
    {
        return _ReleaseDate;
    }
    set
    {
        // if value is null, then that's all good, _ReleaseDate will be null as well
        _ReleaseDate = value; 
    }
}

public DateTime? ReleaseDate {get;set}

您需要执行类似以下操作的唯一原因是,您对null或其他情况有某些特​​定的行为

public DateTime? ReleaseDate
{
    get
    {
        return _ReleaseDate;
    }
    set
    {
        if (value.HasValue)
        {
            // has a value
        }
        else
        {
           // doesnt 
        }
    }
}