用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

C#的null是什么意思??

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

if(a=""){


}

if(a=null){


}
是一个意思吗~??
大家帮我下``
昵称: a253560600  时间: 2007-10-16 18:16:30
""这个是指空字符串

null就是没有,什么也不是。
昵称: Avoid  时间: 2007-10-16 18:25:48
string s="" 这里的“”指的是空字符串
null
代表空对象 
null!==null
昵称: juedaihuaihuai  时间: 2007-10-16 18:28:15
好像有区别吧 NULL是不存在,""是空值,一般"未将对象引用到对象实例"的错误都是给变量赋NULL值引起的
昵称: SmallWhiter  时间: 2007-10-16 19:10:46
比如:
xxx.aspx?id=xxx

如果Request["y"]则为null如果这里判断=Empty为出错的。
昵称: netDust_cv  时间: 2007-10-16 19:21:34
如果a是引用类型
if(a == "")
{
  //判断a是否为空
}

if(a == null)
{
  //判断a是否已经初始化
}
昵称: ldarmy  时间: 2007-10-16 19:43:44

'
昵称: a253560600  时间: 2007-10-16 20:03:26
a="" 就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分
昵称: huikof  时间: 2007-10-16 20:21:08
楼上的说得还是蛮有意思的。呵呵!
昵称: zhongwanli  时间: 2007-10-16 20:31:35
呵呵。。。
就是什么都没有。
String str = null;
昵称: CnBabyCrazy  时间: 2007-10-16 21:12:56
null 在C#程序中会默认的当作equals()方法,先了解下equals()再说
昵称: GoToComput  时间: 2007-10-16 23:09:02
因为:
色即是空,
空即是色.
所以:
null=色
昵称: ChrisAK  时间: 2007-10-17 00:08:17
""这个是指空字符串 

null就是没有,什么也不是。
昵称: windy_224  时间: 2007-10-17 08:41:48
5楼正解
昵称: godling  时间: 2007-10-17 08:44:39
是有区别的,从内存上来说 a="" 已经在内存存了东西(存的是空字符串) a = null a的内存空间上没有存东西
昵称: songziying  时间: 2007-10-17 08:48:44
""在内存里是:00
null在内存里是:ff
昵称: vwxyzh  时间: 2007-10-17 08:53:43
该说的楼上的都说了,没啥好说的.
昵称: A_LinZhang  时间: 2007-10-17 08:59:35
我的理解就是没有.
昵称: hutie_1980  时间: 2007-10-17 09:21:25
null没给这个对象分配地址
""是分配了地址而且给他赋予""这个值
昵称: honglangzhu  时间: 2007-10-17 09:55:41
7楼正解,说得很有意思...
昵称: dbd1984  时间: 2007-10-17 10:03:41
LS大家已经都说了
昵称: wingfay  时间: 2007-10-17 11:43:10
just看看
昵称: tl0352118  时间: 2007-10-17 12:01:30
7楼解释很形象
学习
昵称: JYYCOM  时间: 2007-10-17 12:37:21
楼上的诸位都已经解释了,呵呵,非常的标准的解释啊。
昵称: JackLucifer  时间: 2007-10-17 13:05:06
if(a=""){ 

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

和 
if(a=null){ 

  null是空引用

昵称: wackyboy  时间: 2007-10-17 13:18:48
null就是没有分配内存空间,不占用内存的。就是根本不存在。
昵称: lye2000000_super  时间: 2007-10-17 13:26:09
null是不存在
""是存在,不过是空的
昵称: babay2008  时间: 2007-10-17 13:51:12
"" 是个空字符串
null适用与所有的对象,就是说这个对象只有名字,却没有分配空间,也就是在内存中没有地址.
昵称: SnowMote  时间: 2007-10-17 14:07:04
a="" 就相当于这个人考试了,不过是考了0分 
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分

 说的很好,支持

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

如果加上逻辑“如果他过考试”,你就可以取得他的考试分数,或者0分或者多少分……
昵称: shilei831115  时间: 2007-10-17 14:09:26
色就是空,空就是色。
頂。
昵称: postfxj  时间: 2007-10-17 14:19:47
当然不一样了

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

但是“”是分配了空间,只是空间里面什么都没有
昵称: virusplayer  时间: 2007-10-17 14:31:24
a=""表示的是字符串,但是这个字符串的内容是空的。
a=null表示没东西,就好象你声明一个string a = "";表示这个字符串的内容是空的,但是这个对象存在。如果你只是string a,而不赋值那他就是null,空的,明白这个意思了吧。
随便提一下。
if(a=""){ 

和 
if(a=null){ 

这里如果要看是否向等应该用==,否则你编译的时候会出错的。
最后补充一句,找本基础的书看看。这些都是基础,如果你连这些问题都要在群里一直问的话你进步的速度恐怕一年半载只内是做不了任何事的。
昵称: lynnlin1122  时间: 2007-10-17 14:50:46
null 是未给他分配内存空间的 而 “” 是在内存空间已经分配给他一个 0/ 存在栈里
昵称: CeShenBeiWang  时间: 2007-10-17 15:06:19
接分的
昵称: huhu_yxf  时间: 2007-10-17 16:34:19
楼上的楼上的...说的很清楚了,^_^
分都不够分,帮顶
昵称: mitchy  时间: 2007-10-17 16:56:28
各位说的也差不了多远,但是差一点就差很远,我觉得 30楼正解。
昵称: xiazhijiang520  时间: 2007-10-18 17:36:04
null 还用说吗 去到哪里都表示空值的意思吖 它不代表任何数 你可以理解为什么都没有就可以啦!
昵称: whynot1314  时间: 2007-10-18 18:46:10
空值
昵称: VirtualAS  时间: 2007-10-18 19:42:28
mark
昵称: ericstock  时间: 2007-10-18 19:48:13
学习了
昵称: wq54007  时间: 2009-03-09 21:48:14
值类型默认初始化为0,引用类型默认初始化为null
昵称: lchh0917  时间: 2009-03-09 21:50:30
null 代表空引用,只有引用型的变量可以为NULL。
字符串,数组,接口,类都属于引用类型。
sting str="";表示字符串变量str的值为空
string str=null; 表示变量str未申请任何内存资源。
昵称: wlb089074162  时间: 2011-05-24 10:54:26
发表评论
昵称:
内容:
验证: