如何在asp.net中检查DateTime数据类型变量是否为空/空?
答案 0 :(得分:2)
对于可为空的DateTime
类型,您可以像这样比较null:
DateTime? d = null;
if (d == null)
//do something
对于不可为空的DateTime
类型,您可以与默认MinValue
进行比较:
DateTime d2;
if (d2 == DateTime.MinValue)
//do something else
答案 1 :(得分:1)
DateTime
是值类型,因此不能为空。您的变量实际输入为DateTime
吗?
答案 2 :(得分:0)
它默认初始化为DateTime.MinValue,所以你应该只检查它(除非它的类型为DateTime?
):
if (MyDateTime==DateTime.MinValue)
...
答案 3 :(得分:0)
if !d.HasValue
Hasvalue是所有可伪类型中存在的属性。 (基本上是通用类Nullable)
答案 4 :(得分:0)
DateTime是值类型,因此它不能为null / empty。 (参见this msdn entry)以供参考。
默认情况下,它将获取DateTime.MinValue的值,因此您可以检查它是否等于该值,但它不是最佳解决方案。
最好的解决方案是创建此类型的Nullable变量。语法如下:
Nullable<DateTime> myNullableDate = ...
if(myNullableDate.HasValue) ...
你也可以这样使用问号,这有点简单:
DateTime? myNullableDate = ...
if(myNullableDate.HasValue) ...