C#的null是什么意思??

C#中null是什么意思
是不是判断对象是不是没有被初始化??
和""一样吗?

if(a=""){


}

if(a=null){


}
是一个意思吗~??
大家帮我下``

作者: a253560600   发布时间: 2007-10-16

""这个是指空字符串

null就是没有,什么也不是。

作者: Avoid   发布时间: 2007-10-16

string s="" 这里的“”指的是空字符串
null
代表空对象 
null!==null

作者: juedaihuaihuai   发布时间: 2007-10-16

好像有区别吧 NULL是不存在,""是空值,一般"未将对象引用到对象实例"的错误都是给变量赋NULL值引起的

作者: SmallWhiter   发布时间: 2007-10-16

比如:
xxx.aspx?id=xxx

如果Request["y"]则为null如果这里判断=Empty为出错的。

作者: netDust_cv   发布时间: 2007-10-16

如果a是引用类型
if(a == "")
{
  //判断a是否为空
}

if(a == null)
{
  //判断a是否已经初始化
}

作者: ldarmy   发布时间: 2007-10-16


'

作者: a253560600   发布时间: 2007-10-16

a="" 就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分

作者: huikof   发布时间: 2007-10-16

楼上的说得还是蛮有意思的。呵呵!

作者: zhongwanli   发布时间: 2007-10-16

呵呵。。。
就是什么都没有。
String str = null;

作者: CnBabyCrazy   发布时间: 2007-10-16

null 在C#程序中会默认的当作equals()方法,先了解下equals()再说

作者: GoToComput   发布时间: 2007-10-16

因为:
色即是空,
空即是色.
所以:
null=色

作者: ChrisAK   发布时间: 2007-10-17

""这个是指空字符串 

null就是没有,什么也不是。

作者: windy_224   发布时间: 2007-10-17

5楼正解

作者: godling   发布时间: 2007-10-17

是有区别的,从内存上来说 a="" 已经在内存存了东西(存的是空字符串) a = null a的内存空间上没有存东西

作者: songziying   发布时间: 2007-10-17

""在内存里是:00
null在内存里是:ff

作者: vwxyzh   发布时间: 2007-10-17

该说的楼上的都说了,没啥好说的.

作者: A_LinZhang   发布时间: 2007-10-17

我的理解就是没有.

作者: hutie_1980   发布时间: 2007-10-17

null没给这个对象分配地址
""是分配了地址而且给他赋予""这个值

作者: honglangzhu   发布时间: 2007-10-17

7楼正解,说得很有意思...

作者: dbd1984   发布时间: 2007-10-17

LS大家已经都说了

作者: wingfay   发布时间: 2007-10-17

just看看

作者: tl0352118   发布时间: 2007-10-17

7楼解释很形象
学习

作者: JYYCOM   发布时间: 2007-10-17

楼上的诸位都已经解释了,呵呵,非常的标准的解释啊。

作者: JackLucifer   发布时间: 2007-10-17

if(a=""){ 

  这里的a指向的是字符串池的一个字符串,这个字符串是"",堆上有相应的空间与之对应

和 
if(a=null){ 

  null是空引用

作者: wackyboy   发布时间: 2007-10-17

null就是没有分配内存空间,不占用内存的。就是根本不存在。

作者: lye2000000_super   发布时间: 2007-10-17

null是不存在
""是存在,不过是空的

作者: babay2008   发布时间: 2007-10-17

"" 是个空字符串
null适用与所有的对象,就是说这个对象只有名字,却没有分配空间,也就是在内存中没有地址.

作者: SnowMote   发布时间: 2007-10-17

a="" 就相当于这个人考试了,不过是考了0分 
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分

 说的很好,支持

顺便加一句:如果你的目的是取得 “他考试的结果是:**” 那么恭喜你,“未将对象引用到对象实例”将会发生,

如果加上逻辑“如果他过考试”,你就可以取得他的考试分数,或者0分或者多少分……

作者: shilei831115   发布时间: 2007-10-17

色就是空,空就是色。
頂。

作者: postfxj   发布时间: 2007-10-17

当然不一样了

null是空,只有引用,没有分配空间

但是“”是分配了空间,只是空间里面什么都没有

作者: virusplayer   发布时间: 2007-10-17

a=""表示的是字符串,但是这个字符串的内容是空的。
a=null表示没东西,就好象你声明一个string a = "";表示这个字符串的内容是空的,但是这个对象存在。如果你只是string a,而不赋值那他就是null,空的,明白这个意思了吧。
随便提一下。
if(a=""){ 

和 
if(a=null){ 

这里如果要看是否向等应该用==,否则你编译的时候会出错的。
最后补充一句,找本基础的书看看。这些都是基础,如果你连这些问题都要在群里一直问的话你进步的速度恐怕一年半载只内是做不了任何事的。

作者: lynnlin1122   发布时间: 2007-10-17

null 是未给他分配内存空间的 而 “” 是在内存空间已经分配给他一个 0/ 存在栈里

作者: CeShenBeiWang   发布时间: 2007-10-17

接分的

作者: huhu_yxf   发布时间: 2007-10-17

楼上的楼上的...说的很清楚了,^_^
分都不够分,帮顶

作者: mitchy   发布时间: 2007-10-17

各位说的也差不了多远,但是差一点就差很远,我觉得 30楼正解。

作者: xiazhijiang520   发布时间: 2007-10-18

null 还用说吗 去到哪里都表示空值的意思吖 它不代表任何数 你可以理解为什么都没有就可以啦!

作者: whynot1314   发布时间: 2007-10-18

空值

作者: VirtualAS   发布时间: 2007-10-18

mark

作者: ericstock   发布时间: 2007-10-18

学习了

作者: wq54007   发布时间: 2009-03-09

值类型默认初始化为0,引用类型默认初始化为null

作者: lchh0917   发布时间: 2009-03-09

null 代表空引用,只有引用型的变量可以为NULL。
字符串,数组,接口,类都属于引用类型。
sting str="";表示字符串变量str的值为空
string str=null; 表示变量str未申请任何内存资源。

作者: wlb089074162   发布时间: 2011-05-24