ASP.NET DATE类型validaiton

时间:2010-10-06 11:49:43

标签: asp.net

如何在asp.net中检查DateTime数据类型变量是否为空/空?

5 个答案:

答案 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) ...