| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1831 人关注过本帖
标题:求教老师:变量的 赋值 - “ ” 或 null
取消只看楼主 加入收藏
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:10 
求教老师:变量的 赋值 - “ ” 或 null
求教老师:

c#的 变量赋值,比如:

int a = " ";

int b = null;

我的问题是,什么情况下 赋值 “ ”,什么情况下 赋值 null ?

(我知道,如果赋值为 “ ”,内存会对这个变量留出空间;而 null ,则内存没有。)

谢谢答疑老师先!
搜索更多相关主题的帖子: null 空间 
2013-10-19 15:30
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 afdoa83 老师回复!!!

我试了一下,字符串类型 既可以 赋值为 "",也可以赋值为 null,即 string a = ""; 或 string a = null;

我搞不懂的是,什么情况下 使用 "",什么情况下 使用 null 呢???

我查了MSDN,里面好像没有对 "" 赋值做解释?

谢谢 afdoa83老师 !!!

[ 本帖最后由 learnerok 于 2013-10-19 21:53 编辑 ]
2013-10-19 21:50
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 wp231957老师 帮助!!!

您的意思是,string a = ""; 或 string a = null; 这两个 意思是相同的?

但好像是,如果赋值 为 "" ,则内存会分配空间;而null,则内存不会分配空间。

所以他们应该是有区别的,只是不懂何种情况 如何使用啊?!
2013-10-19 22:08
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 afdoa83大侠的帮助!!!

能再 详细点说明一下,声明 字符串 变量 时,何时用 "",何时用null 吗?

比如说,您是什么情况下 用"" ,什么情况下 用 null 的?

谢啦!!!

[ 本帖最后由 learnerok 于 2013-10-20 20:11 编辑 ]
2013-10-20 19:53
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 TonyDeng老师 的指导帮助,我要好好读一下理解您的回复内容。!!!

接受到您好多次的帮助,感动中!!!


2013-10-21 00:49
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
我试了一下,字符串类型 既可以 赋值为 "",也可以赋值为 null,即 string a = ""; 或 string a = null;

我搞不懂的是,什么情况下 使用 "",什么情况下 使用 null 呢???

我查了MSDN,里面好像没有对 "" 赋值做解释?

=====================

TonyDeng老师,您能帮我指点一下上面的问题吗,谢谢您先!!!
2013-10-21 00:59
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
以下是引用tlliqi在2013-10-21 08:24:01的发言:

打个比方:一个空玻璃杯,你不能说它里面什么都没有,因为里面有空气,当然也可以把它弄成真空,null与" "的区别就象真空与空气一样。
感谢 tlliqi老师的回复,您的意思俺在上面也说到了,俺只是不明白下面的问题

“我搞不懂的是,什么情况下 使用 "",什么情况下 使用 null 呢???”

或者说,您什么情况下 使用 "",什么情况下使用 null 呢?

谢谢您,先!!!
2013-10-21 12:14
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
感谢 TonyDeng老师 的指导 !!!

能举个例子吗,说明什么时候需要指出對象不存呢?

有时候看到 在方法外面将 字符串赋值 为"", 有时候又是 null, 真是不解为什么啊?

谢谢老师先!!!
2013-10-22 00:31
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
以下是引用TonyDeng在2013-10-22 00:44:12的发言:

字符串是引用對象,它要在堆中分配空間,當對象未創建(即未分配空間)時,或未初始化時,就需要令指向它的指針或引用為null,以告訴使用者,這個對象目前不能使用。並非僅對字符串,所有對象都可以賦値為null,意思就是這個對象是不可用的,需要初始化。通常的建議,如果不是在聲明時同時給對象初始化,則把它明確賦値為null,以避免野指針,代碼要使用對象,習慣性地檢查一下它是否null再使用是個好主意。對C/C++來說,對象從內存中釋放後,也應主動給指針賦値為nullptr,防止後續代碼誤用野指針所指向的數據,C#不需要釋放,但若你決定廢棄某個對象時,順便給它的引用賦値為null,也是良好的習慣。

感谢 TonyDeng老师,你的回复我已经收藏,是这个问题目前我得到解答的最具体,感动啊!!!

您能给俺举个例子,说使用 "" 和 null 的不同情况吗?以便今后我运用到编写代码实践中,不胜感谢!!!
2013-10-22 11:56
learnerok
Rank: 2
等 级:论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
收藏
得分:0 
以下是引用TonyDeng在2013-10-22 12:02:50的发言:

13樓告訴你了啊,當需要指出對象不可用時,就賦値null。如果字符串確實沒有內容,就賦値"",這是它的真實內容,確實是沒任何字符了,當然是空串啦。""是字符串,null不是字符串。

感谢老师的教诲!!!

恕在下笨拙!实在需要举例来加深学习啊。

比如:何时需要 “指出對象不可用”,需要赋值为null 呢?

能给俺分别 给出两个方法,说明:当这样的方法时,因 ... 所以需要将变量赋值为 "" ; 而另一个方法,因... 所以这里需要将变量赋值为null。

感谢您!!!
2013-10-22 12:24
快速回复:求教老师:变量的 赋值 - “ ” 或 null
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016953 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved