int32 int64是值类型!不能这样做的! --------------------------------- 但值类型在2.0中可用 可空类型,如 int? num = null; if (num.HasValue == true) { System.Console.WriteLine("num = " + num.Value); } else { System.Console.WriteLine("num = Null"); } //y is set to zero int y = num.GetValueOrDefault(); // num.Value throws an InvalidOperationException if num.HasValue is false try { y = num.Value; } catch (System.InvalidOperationException e) { System.Console.WriteLine(e.Message); }
但是我想写个判断:
if(dt=null){......}
这个“dt=null“应该怎么写呢?
但是我想写个判断:DateTime dt= new DateTime();
..............
if(dt==null){......}
这个“dt=null“应该怎么写呢?
你可以把时间默认的设置成一个不可能的值,每次去判断是否为这个值就知道是否为null了
DateTime dt申明后就是那个1970-1-1
这些可以在定义的时候不赋值(如果一直没有赋值,该变量也不可用),但是不能给null。
为什么lz要 把他们定义为 null,如果是要特殊标识,给个默认值就可以了。
int32 == 0
guid == Guid.Empty
---------------------------------
但值类型在2.0中可用
可空类型,如
int? num = null;
if (num.HasValue == true)
{
System.Console.WriteLine("num = " + num.Value);
}
else
{
System.Console.WriteLine("num = Null");
} //y is set to zero
int y = num.GetValueOrDefault(); // num.Value throws an InvalidOperationException if num.HasValue is false
try
{
y = num.Value;
}
catch (System.InvalidOperationException e)
{
System.Console.WriteLine(e.Message);
}
:可空类型
见上
我没打错,记得有问号。
相当于这样
Nullable(DateTime) d=null;**************************************
http://www.nnhy.org
http://blog.csdn.net/yumanqing/archive/2007/01/29/1497216.aspx
值类型怎么null?
值类型怎么null?用C#2.0
int? a=null
站在数据库的角度上讲
搂住没有弄明白一个值为空null和一个值为null的区别
前面是什么都没有
而后者有值是null
Nullable<DataTime> DateTime;
if(DateTime == null){
}
这样可以;
Nullable<DataTime> 的简写为 DateTime?
了.
//......if(dt == DateTime.MinValue)
{
//do whatever you want to
}
可用可空泛类型。 Nullable<type> 或者(type?)