0

我对 Nullable 有点陌生。我在 C# 中有一个我想要为空的 DateTime,而不是在 try-catch 中分配值,然后检查它是否为空。

代码:

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);
}
4

0 回答 0