当前位置:编程学习 > C#/ASP.NET >>

C#的null是什么意思??

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

if(a=""){


}

if(a=null){


}
是一个意思吗~??
大家帮我下`` --------------------编程问答-------------------- ""这个是指空字符串

null就是没有,什么也不是。 --------------------编程问答-------------------- string s="" 这里的“”指的是空字符串
null
代表空对象 
null!==null --------------------编程问答-------------------- 好像有区别吧 NULL是不存在,""是空值,一般"未将对象引用到对象实例"的错误都是给变量赋NULL值引起的 --------------------编程问答-------------------- 比如:
xxx.aspx?id=xxx

如果Request["y"]则为null如果这里判断=Empty为出错的。 --------------------编程问答-------------------- 如果a是引用类型
if(a == "")
{
   //判断a是否为空
}

if(a == null)
{
   //判断a是否已经初始化
}  --------------------编程问答--------------------
' --------------------编程问答-------------------- a=""  就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分 --------------------编程问答-------------------- 楼上的说得还是蛮有意思的。呵呵! --------------------编程问答-------------------- 呵呵。。。
就是什么都没有。
String str = null; --------------------编程问答-------------------- null   在C#程序中会默认的当作equals()方法,先了解下equals()再说 --------------------编程问答-------------------- 因为:
色即是空,
空即是色.
所以:
null=色 --------------------编程问答-------------------- ""这个是指空字符串 

null就是没有,什么也不是。 --------------------编程问答-------------------- 5楼正解 --------------------编程问答-------------------- 是有区别的,从内存上来说 a="" 已经在内存存了东西(存的是空字符串)  a = null a的内存空间上没有存东西 --------------------编程问答-------------------- ""在内存里是:00
null在内存里是:ff --------------------编程问答-------------------- 该说的楼上的都说了,没啥好说的. --------------------编程问答-------------------- 我的理解就是没有. --------------------编程问答-------------------- null没给这个对象分配地址
""是分配了地址而且给他赋予""这个值 --------------------编程问答-------------------- 7楼正解,说得很有意思... --------------------编程问答-------------------- LS大家已经都说了   --------------------编程问答-------------------- just看看 --------------------编程问答-------------------- 7楼解释很形象
学习 --------------------编程问答-------------------- 楼上的诸位都已经解释了,呵呵,非常的标准的解释啊。 --------------------编程问答-------------------- if(a=""){ 

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

和 
if(a=null){ 

   null是空引用

--------------------编程问答-------------------- null就是没有分配内存空间,不占用内存的。就是根本不存在。 --------------------编程问答-------------------- null是不存在
""是存在,不过是空的 --------------------编程问答-------------------- "" 是个空字符串
null适用与所有的对象,就是说这个对象只有名字,却没有分配空间,也就是在内存中没有地址. --------------------编程问答-------------------- a=""  就相当于这个人考试了,不过是考了0分 
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分

 说的很好,支持

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

如果加上逻辑“如果他过考试”,你就可以取得他的考试分数,或者0分或者多少分…… --------------------编程问答-------------------- 色就是空,空就是色。
頂。 --------------------编程问答-------------------- 当然不一样了

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

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

和 
if(a=null){ 

这里如果要看是否向等应该用==,否则你编译的时候会出错的。
最后补充一句,找本基础的书看看。这些都是基础,如果你连这些问题都要在群里一直问的话你进步的速度恐怕一年半载只内是做不了任何事的。 --------------------编程问答-------------------- null 是未给他分配内存空间的 而 “” 是在内存空间已经分配给他一个 0/ 存在栈里 --------------------编程问答-------------------- 接分的 --------------------编程问答-------------------- 楼上的楼上的...说的很清楚了,^_^
分都不够分,帮顶 --------------------编程问答-------------------- 各位说的也差不了多远,但是差一点就差很远,我觉得 30楼正解。 --------------------编程问答-------------------- null 还用说吗 去到哪里都表示空值的意思吖 它不代表任何数 你可以理解为什么都没有就可以啦! --------------------编程问答-------------------- 空值 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 学习了
--------------------编程问答-------------------- 值类型默认初始化为0,引用类型默认初始化为null --------------------编程问答-------------------- null 代表空引用,只有引用型的变量可以为NULL。
字符串,数组,接口,类都属于引用类型。
sting str="";表示字符串变量str的值为空
string str=null; 表示变量str未申请任何内存资源。 --------------------编程问答--------------------
引用 27 楼 snowmote 的回复:
"" 是个空字符串
null适用与所有的对象,就是说这个对象只有名字,却没有分配空间,也就是在内存中没有地址.


+1 --------------------编程问答-------------------- 相当于""或者空 --------------------编程问答-------------------- “” 系统分配了一块内存,但是内存里存的是空的
null 是没有分配内存 所以什么都没有 --------------------编程问答--------------------
引用 44 楼 canl464970302 的回复:
“” 系统分配了一块内存,但是内存里存的是空的
null 是没有分配内存 所以什么都没有



这样的问题  想得到的  不用问
--------------------编程问答-------------------- null就是在内存中分配了一块内存空间,""这是也是在内存中分配了一块内存空间,并值为空字符串 --------------------编程问答-------------------- 学习了,null什么都没有,""为空字符串 --------------------编程问答-------------------- a="" ---->内存有开辟一个空间来存放 ""这个空字符串、
a=Null ---->内存没有开辟任何空间来存放任何东西。。。。 --------------------编程问答-------------------- 类似空指针 --------------------编程问答-------------------- 朋友们都说了那么多,专业的,形象的,楼主应该可以理解了。 --------------------编程问答-------------------- string temp = "" --> 分配了长度一个字符串长度为0的空间
string temp = null --> 尚未分配空间 --------------------编程问答-------------------- null 在内存中不存在,内存不会为其分配空间,而""空字符串内存是要为其分配一个空的内存空间。 --------------------编程问答-------------------- 这么多人都回答了,而且都是正解,为啥LZ还不结贴尼 --------------------编程问答-------------------- 应该是空字符串 --------------------编程问答-------------------- null  是不知道的意思。遇到就读不知道。 --------------------编程问答-------------------- a="";
a是一个空字符串类型
null 关键字是表示不引用任何对象的 null 引用的文字值。 null 是引用类型变量的默认值。 普通值类型不能为 null。 但是,C# 2.0 引入了可以为 null 值的类型。 --------------------编程问答-------------------- --------------------编程问答-------------------- null 是没有开辟内存空间,""是开辟了内存为空字符串的空间 --------------------编程问答--------------------
引用 7 楼 huikof 的回复:
a="" 就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分


说的很有道理但有些欠缺。
a=""表示这个人参加考试但作弊,也就是没有分。
null是没来参加。
哈哈哈 --------------------编程问答--------------------
引用 7 楼 huikof 的回复:
a="" 就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分


这个很形象!!! --------------------编程问答-------------------- +1
引用 7 楼 huikof 的回复:
a=""  就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分
--------------------编程问答-------------------- 跟C++等一样都是空的意思啊 --------------------编程问答-------------------- null为空值 --------------------编程问答-------------------- 比如你爸妈打算要个孩子,那么你就是null了,Humen you=null --------------------编程问答-------------------- 路过学习~~~ --------------------编程问答-------------------- null代表空对象 --------------------编程问答-------------------- dbnull又是什么呢? --------------------编程问答--------------------
引用 15 楼 vwxyzh 的回复:
""在内存里是:00
null在内存里是:ff

你的说法,有依据吗? --------------------编程问答-------------------- 当然有区别啦~~口袋是空的~和口袋只是个摆设~ --------------------编程问答--------------------
引用 68 楼 jshzp 的回复:
引用 15 楼 vwxyzh 的回复:
""在内存里是:00
null在内存里是:ff

你的说法,有依据吗?

恩,仔细想了下,如果是单片机之类的东西中,你的说法不错;但是在PC机的内存条中,还需要研究下才能确定。。。 --------------------编程问答--------------------
引用 1 楼 avoid 的回复:
""这个是指空字符串

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

正解 --------------------编程问答--------------------
引用 7 楼 huikof 的回复:
a="" 就相当于这个人考试了,不过是考了0分
null就相当于,这个人没有考试,所以没有分数,但你不能说他是0分

7楼说的相当形象,就是这个意思 --------------------编程问答-------------------- 路过,学习啦 --------------------编程问答--------------------
引用 1 楼 avoid 的回复:
""这个是指空字符串

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

+1 --------------------编程问答-------------------- null 只能对引用类型变量赋值。null 表明某个引用类型的变量不指向任何内存地址,也就是没有引用任何对象。"" 只是一个 很普通的 string 对象,他会产生内存分配,并将内存地址传给那个变量,变量指向这个空的字符串。 --------------------编程问答-------------------- 额,你有一个钱包,但钱包里木有钱就可以用 "",
若你连钱包都木有那么你就 null了。
呵呵呵 --------------------编程问答-------------------- null就是还没地址空间呢。
""是有空间了,也有值,值是""。这也算个字符串哦。
而null就是什么都没有。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,