C#中String.Empty、NULL与""三者的区别是什么?

xinsuishiqiao 2011-08-23 09:42:07
C#中String.Empty、NULL与""三者的区别是什么?请各位大侠解释一下,谢谢
...全文
359 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Name_456 2011-08-23
  • 打赏
  • 举报
回复
学习了,顶
  • 打赏
  • 举报
回复
string.Empty 与""区别较小,后者是常量,前者是只读静态
NULL表示空引用
sdjmu 2011-08-23
  • 打赏
  • 举报
回复
给你举个房子装修的例子吧:
你目前房子都没有,就是NULL(根本就谈不上装修,就是说内存都没分配,谈不上值)
"" 你有房子但是没有装修,而且很直接(内存分配了,但是值是空值)
String.Empty 就是毛胚房(同样是内存分配了,是空值)
没有装修的房子从用的角度来看完全等于毛胚房(也就""和String.Empty从执行效率来看是完全一样)
但从语言角度来看,毛胚房是经过优化的语言,更具有代表和专业性,但不一定通俗易懂。(也就是从语法以及C#编译IL阶段String.Empty 比""优化了一些,仅仅是语法上而已,但String.Empty更符合面向对象,但不一定人人懂,而""是个人都知道,从专业的角度来看还是建议String.Empty)
以上卓见,不知道你懂了吗
xinsuishiqiao 2011-08-23
  • 打赏
  • 举报
回复
学习了,结账了,哈哈
Lemon2050 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 accomp 的回复:]
""是分配了内存的空字符串
null纯空 啥也没有
String.Empty 相当于"",但不等于""

判断时候,统一用string.IsNullOrEmpty(str) 就可以
[/Quote]

同意,说的已经相当到位。
h932231934 2011-08-23
  • 打赏
  • 举报
回复
学习了
微醺-BW 2011-08-23
  • 打赏
  • 举报
回复

""是分配了内存的空字符串
null没有任何东西
String.Empty 相当于""
xiaod_xx 2011-08-23
  • 打赏
  • 举报
回复
原来如此。
rczjp 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 accomp 的回复:]

""是分配了内存的空字符串
null纯空 啥也没有
String.Empty 相当于"",但不等于""

判断时候,统一用string.IsNullOrEmpty(str) 就可以
[/Quote]+1
萧炎 2011-08-23
  • 打赏
  • 举报
回复
来迟了 还是帮顶下 上面的都说的差不多了
accomp 2011-08-23
  • 打赏
  • 举报
回复
""是分配了内存的空字符串
null纯空 啥也没有
String.Empty 相当于"",但不等于""

判断时候,统一用string.IsNullOrEmpty(str) 就可以
Nick黄 2011-08-23
  • 打赏
  • 举报
回复
null是关键字,表示不引用任何对象的空引用的文字值

string.Empty = ""

PitTroll 2011-08-23
  • 打赏
  • 举报
回复
""是分配了内存的空字符串。NULL知道吧,是空引用。String.Empty属性,表示空字符串。
Daqing 2011-08-23
  • 打赏
  • 举报
回复
String.Empty和""是一样的,都是空,习惯用string.empty。 Null和他们就有区别了,就是没有值,也没分配地址,此处可以理解成什么都没有。
liucheng335210510 2011-08-23
  • 打赏
  • 举报
回复
String.Empty 与 "" 大多数情况下可以互换的,二null就是没有地址,,""有地址但是值为 "" 空的。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧