下面是一个用c#写得属性 StrName, public string StrName
{
get
{
if (  strName != null)
{
return  strName;
}
else
{
return "";
} }
set 
{
if (value != null )
{
strName =value;
}
else
{
strName ="";
}
}
}请问如果把它写成:
public string StrName
{
get
{
return  strName;


}
set 
{

strName =value;

}
}
两者是不是一样的?null 和""是不是同一回事?

解决方案 »

  1.   

    前者科学一点,对象.StrName.ToString()的时候不至于异常
      

  2.   

    我认为
    ""本质上还是个字符串
    null 什么也没有
      

  3.   

    设置为“""”时,用查询语句查询时(条件为%或_)是可以查到纪录的;而为null则不行
    其原因是""为空字符串,而null则什么也没有  
        所以两者还是有区别的
      

  4.   

    null一个空指针,
    ""是一个值
      

  5.   

    同意楼上,可加属性标签
    [DefalutValue()]
      

  6.   

    .StrName.ToString()的时候不至于异常.StrName.ToString()的时候不至于异常.StrName.ToString()的时候不至于异常.StrName.ToString()的时候不至于异常.StrName.ToString()的时候不至于异常
      

  7.   

    NULL 对象引用为空,未被初始化;
    “”对象已经被初始化,只不过它的值为空
      

  8.   

    1、不一样,用前者,安全;
    2、null 和""当然有区别了,null是空地址,没有实体,""是有地址和实体的。
      

  9.   

    NULL不知名的,不知道是什么东西
    ""知道是什么,但是是空的
      

  10.   

    null 和""当然有区别了,null是空地址,没有实体,""是系统分配有地址和实体的。
      

  11.   

    ""表示字符串 null表示什么都没有