差异可空值:。值是否?

时间:2014-06-26 07:36:47

标签: c# asp.net null nullable non-nullable

我对Nullable有点新意。我在C#中有一个DateTime,我想要为null,而不是在try-catch中赋值,然后检查它是否为null。

代码:

DateTime? dt = null;
try
{
    dt = DateTime.ParseExact(stringDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
}
catch(FormatException)
{
    Console.WriteLine("The given string is not valid and could not be converter to a DateTime");
}
// Check if the DateTime is not null
// If it's not null, do something with the DateTime

所以,我的问题:

我应该使用哪两个,为什么我应该使用它,以及两者之间有什么区别:

if(dt != null)
{
    doSomethingWithDateTime(dt);
}

或者:

if(dt.HasValue)
{
    doSomethingWithDateTime(dt.Value);
}

0 个答案:

没有答案