A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 廖新 中级黑马   /  2013-3-1 17:17  /  1251 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string str1="";   string str2=null;   string str3=string.Empty;  都是空的字符串。有什么区别呢?一般写哪个好?

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

3 个回复

倒序浏览
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 == ""

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
许正龙 发表于 2013-3-1 17:53
string str1="";   string str2=null;   string str3=string.Empty;
srt1和str2都是分配了储存空间,只不过 ...

貌似是str1和str3分配了存储空间吧。 感谢科普。谢谢了。
回复 使用道具 举报
廖新 发表于 2013-3-1 19:19
貌似是str1和str3分配了存储空间吧。 感谢科普。谢谢了。

手哆嗦了:#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马