System.String,System.Int32,System.Single,System.DateTime,ystem.Boolean
我要判断上面这几个类型怎么样为空,现在只知道
String==null这个,还有DateTime可以用Convert.ToDateTime(datetime)!= DateTime.MinValue来判断,那其他几个呢,他们是有默认值为0的,但是我不是要用0来判断,如果赋值了有0了那就不是空了。就是想要知道哪个没赋过值的。

解决方案 »

  1.   

    你可以初始化为一个,实际不可能的值
    把它当作空
    比如Int32.MinValue Single.MinValue等
      

  2.   

    我现在是定义了个类,有以上几种类型的字段,我现实例化了这个类,现在是想判断这类里面哪个属性字段没有赋过值,代码像这样
     foreach (PropertyInfo pi in t.GetProperties())
                {
                    switch (pi.PropertyType.ToString())
                    {
                        case "System.String":
                            {
                                if (pi.GetValue(_dtPNRLog, null) == null)
                                {
                                    sqlstr2 += "string可用null判断;";
                                }
                            }
                            break;
    ;;;
    ;;;
    ;;;
      

  3.   

    viena(维也纳nn) ( ) 信誉:100    Blog  2006-11-24 11:22:34  得分: 0  
     
     
       你可以初始化为一个,实际不可能的值
    把它当作空
    比如Int32.MinValue Single.MinValue等
      
     
    那布尔型的呢?:)只有个真假难道有第三个吗?
      

  4.   

    变通的办法
    可以另外设一个属性作为某字段是否已初始化的标志
    前提是该字段只能通过属性初始化,在其属性set代码中置标志