object = null 等效与 string.IsNullOrEmpty(object.ToString() )吗 ?

来源:互联网 发布:js发送http请求 编辑:程序博客网 时间:2024/05/21 19:39

      这个问题对一般的c#开发人员具有迷惑性,object 来源于datarow中的对象集合(也就是字段值的集合),当object 代表的字段为空时,object并不等于null,但转化为字符串类型再去判断字符串为空就准确了,如果忽略了这一点,在程序中对空字段的处理就会失真,因此对字段空值的判断最好先将其转换为字符串再对字符串判空。

     以前的判空方法:

public static string DealVal(object inputVal)        {               if (inputVal != null)              {                  return inputVal.ToString();              }              else              {                  return "null";               }        }

     现在的判空方法:

  public static string DealVal(object inputVal)     {            if (!string.IsNullOrEmpty(inputVal.ToString()))            {                return inputVal.ToString();            }            else            {                return "null";            }       }

      想想也是,object是万能类,string是具体类,万能的必然泛指,具体的才更精确。