首页 新闻 会员 周边

c #。。。。。

0
悬赏园豆:5 [已解决问题] 解决于 2015-12-01 16:28

string a;

string b="";

string c=string.empty;

这三个又什么不一样??

sololi的主页 sololi | 初学一级 | 园豆:190
提问于:2015-11-22 12:25
< >
分享
最佳答案
1

String a;  申明一个string类型的 a,即没有在申请内存地址,更没有在内存任何指向引用地址;

String c = string.empty ;   和String a = "" 性质一样,因为string.empty内部封装的就是个c="";

String b= "" ;申明一个string类型的 a,既在内存里申请了地址,该地址又指向一个引用该字符串的引用地址;

建议使用String.Empty 

String.Empty和string=””一样,同样需要占用内存空间,为什么推荐优先使用String.Empty ?

string.Empty只是让代码好读,防止代码产生歧义,比如说:

string s = "";  string s = " ";   这个不细心看,很难看出是空字符串还是空格字符。

而且看起来美观好看,比c="" 要高大上一点

收获园豆:5
总瓢把子 | 初学一级 |园豆:53 | 2015-11-22 15:39

讲的很全

茂茂 | 园豆:2892 (老鸟四级) | 2015-11-23 16:26
其他回答(3)
0

印象是后面两个是一样的,第一个是null

jello chen | 园豆:7336 (大侠五级) | 2015-11-22 13:09
0

楼上概括的挺全面啊!

h_xb | 园豆:202 (菜鸟二级) | 2015-11-23 14:06
0

楼上讲的很全。

凝冰 | 园豆:685 (小虾三级) | 2015-11-23 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册