搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 求教老师:变量的 赋值 - “ ” 或 null
标题:
求教老师:变量的 赋值 - “ ” 或 null
只看楼主
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
结帖率:
91.67%
楼主
已结贴
√
问题点数:20 回复次数:20
求教老师:变量的 赋值 - “ ” 或 null
求教老师:
c#的 变量赋值,比如:
int a = " ";
int b = null;
我的问题是,什么情况下 赋值 “ ”,什么情况下 赋值 null ?
(我知道,如果赋值为 “ ”,内存会对这个变量留出空间;而 null ,则内存没有。)
谢谢答疑老师先!
搜索更多相关主题的帖子:
null
空间
2013-10-19 15:30
afdoa83
等 级:
业余侠客
威 望:
7
帖 子:43
专家分:262
注 册:2012-7-31
第
2
楼
得分:0
String类型变量可以赋值" "。
可空类型变量可以赋值null。
例如
string txt = " ";
int? Enum = null; //int? 是预定义类型int的可空形式。
详细查阅C#可空类型
2013-10-19 20:13
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
第
3
楼
得分:0
感谢 afdoa83 老师回复!!!
我试了一下,字符串类型 既可以 赋值为 "",也可以赋值为 null,即 string a = ""; 或 string a = null;
我搞不懂的是,什么情况下 使用 "",什么情况下 使用 null 呢???
我查了MSDN,里面好像没有对 "" 赋值做解释?
谢谢 afdoa83老师 !!!
[
本帖最后由 learnerok 于 2013-10-19 21:53 编辑
]
2013-10-19 21:50
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
4
楼
得分:0
大部分情况下 " "代表一个空格 而""则代表null
DO IT YOURSELF !
2013-10-19 22:02
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
第
5
楼
得分:0
感谢 wp231957老师 帮助!!!
您的意思是,string a = ""; 或 string a = null; 这两个 意思是相同的?
但好像是,如果赋值 为 "" ,则内存会分配空间;而null,则内存不会分配空间。
所以他们应该是有区别的,只是不懂何种情况 如何使用啊?!
2013-10-19 22:08
afdoa83
等 级:
业余侠客
威 望:
7
帖 子:43
专家分:262
注 册:2012-7-31
第
6
楼
得分:0
null代表着未被初始化
2013-10-20 19:23
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
第
7
楼
得分:0
感谢 afdoa83大侠的帮助!!!
能再 详细点说明一下,声明 字符串 变量 时,何时用 "",何时用null 吗?
比如说,您是什么情况下 用"" ,什么情况下 用 null 的?
谢啦!!!
[
本帖最后由 learnerok 于 2013-10-20 20:11 编辑
]
2013-10-20 19:53
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
8
楼
得分:0
從你寫過的程序的經驗,覺得需要超出整形數集表達一個整型數據的情形是什麽?也就是說,在什麽情形下需要一個int數據表示它是無效的數據?考慮如下情形:對一個整型數據,我們經常用0或-1來表示這是結束或特殊情況(比如出錯),但問題是在某些場合,0和-1也是合法的數據,你不能佔用這樣的數據去表示出錯或特殊情形,那麽,null就派上用場了。
但是要注意:C#儘管允許給値類型數據賦値null,但本質上null是對引用型數據的引用,當値數據被暗中當引用數據使用時,會有裝箱/拆箱操作,是會影響效率的。一般正常的代碼,極少這樣用。在程序經驗不多的時候,探討這種問題屬於偏門,沒多大意義。
int與string不同,前者是値類型數據,後者原先就是引用型數據,天然可以用null,而前者用null是要作特殊處理的。語言的糖果雖然很甜,但不要濫用。
[
本帖最后由 TonyDeng 于 2013-10-20 23:44 编辑
]
授人以渔,不授人以鱼。
2013-10-20 23:37
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
第
9
楼
得分:0
感谢 TonyDeng老师 的指导帮助,我要好好读一下理解您的回复内容。!!!
接受到您好多次的帮助,感动中!!!
2013-10-21 00:49
learnerok
等 级:
论坛游民
帖 子:387
专家分:47
注 册:2011-5-21
第
10
楼
得分:0
我试了一下,字符串类型 既可以 赋值为 "",也可以赋值为 null,即 string a = ""; 或 string a = null;
我搞不懂的是,什么情况下 使用 "",什么情况下 使用 null 呢???
我查了MSDN,里面好像没有对 "" 赋值做解释?
=====================
TonyDeng老师,您能帮我指点一下上面的问题吗,谢谢您先!!!
2013-10-21 00:59
21
1/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-422165-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.107127 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved