if((userID!="" )&&(userID!=null))
{
   ......
}userID!=""于userID!=null 是什么意思啊? 它们之间的区别是社么呢?
  问的有点弱啊,请指点!

解决方案 »

  1.   

    首先,我也是菜菜鸟。
    按我的理解null在C#就是空的意思,所以(userID!="" )和(userID!=null)可能是相同的
    (我不知道C#中程序是否认同用两个""表示空值的方式)
    我在MSDN中查到的是:
    null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。C# 2.0 引入了可为空值的类型,这是可以设置成未定义值的数据类型。请参见可为空的类型(C# 编程指南)。如果不对,请高手指正!
      

  2.   

    if((userID!="" )&&(userID!=null))这个写法好像有问题,应该是if((userID!=null)&&(userID!="" ))你可以用的null值试试两者的区别
    比如这两个值
    string userID = null
    string userID = ""
      

  3.   

    您关于String.Empty和Null的问题是这样的,这两个都是表示空字符串,其中有一个重点是string str1= String.Empty和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,将报错
      

  4.   

    偶也是新手,基本可以理解成,str1=null 相当于str1还不真正的存在,需要实例化之后才能使用,而str1="",表明str1已经是一个字符串,只不过它存放的值是""(空值),所以你判断的顺序也应该是if(str1!=null&&str1!=""),应该先确保对象存在,再判断是否为空值!
    但null在内存堆栈中占不占用空间,还请楼下知道的顺便解答一下,我也弄得不清不楚,呵呵~