我想验证一个DateTime
变量,以确保它在UI上不为空。字符串等效的检查方式是String.IsNullOrEmpty()
,但是如何处理我的DateTime
变量?
我想验证一个DateTime
变量,以确保它在UI上不为空。字符串等效的检查方式是String.IsNullOrEmpty()
,但是如何处理我的DateTime
变量?
DateTime
是一个值类型,因此它不能为 null。要检查 DateTime
变量是否具有默认值(全为 0),您可以将其与 new DateTime()
或 default(DateTime)
进行比较。
另一种选择是对于用户输入使用 DateTime?
替换 DateTime
并检查 HasValue
属性。
要在C#中检查 DateTime
是否为null,您必须首先确保DateTime是可空的。
原始答案:最初的回答
// DateTime? means it is nullable
var DateTime? date = null;
// .HasValue only exists if DateTime is nullable
if(date.HasValue)
Console.WriteLine("date has a value");
else
Console.WriteLine("date is null");
DateTime
不可为空,请将其设为可为空(除非你确定它绝不会为null)。你不想在DateTime上分配“nullish”值。根据我的经验,这会导致混乱的错误/代码。"最初的回答"
DateTime.TryParse()
。 - Juan