黑马程序员技术交流社区

标题: null、""、string.Empty的区别 [打印本页]

作者: 廖新    时间: 2013-3-1 17:17
标题: null、""、string.Empty的区别
string str1="";   string str2=null;   string str3=string.Empty;  都是空的字符串。有什么区别呢?一般写哪个好?
作者: 许正龙    时间: 2013-3-1 17:53
string str1="";   string str2=null;   string str3=string.Empty;
srt1和str2都是分配了储存空间,只不过是长度为空的存储空间;而str2没有分配储存空间,没有指向。
在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。
比如:
string s = "";
string s2 = string.Empty;
if (s == string.Empty) {
//
}
if语句成立
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ""

作者: 廖新    时间: 2013-3-1 19:19
许正龙 发表于 2013-3-1 17:53
string str1="";   string str2=null;   string str3=string.Empty;
srt1和str2都是分配了储存空间,只不过 ...

貌似是str1和str3分配了存储空间吧。 感谢科普。谢谢了。
作者: 许正龙    时间: 2013-3-1 20:14
廖新 发表于 2013-3-1 19:19
貌似是str1和str3分配了存储空间吧。 感谢科普。谢谢了。

手哆嗦了:#




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2