黑马程序员技术交流社区
标题:
关于字符串里的一点疑问,求指点
[打印本页]
作者:
邓艳秋
时间:
2012-10-4 12:56
标题:
关于字符串里的一点疑问,求指点
stirng str1=null;
string str2="";
string str3=string.Empty;
这三者都有什么区别呢?
求高人指点。
作者:
许庭洲
时间:
2012-10-4 13:22
1. string str1 = null是不给他分配内存空间的;
2. string str1 = null没有string对象;
3. string str2 = ""有一个字符串对象;
4. string str3= string.Empty是定义和初始化放在了一起,它实际是等价于string str1=null; str2="";
作者:
和志强
时间:
2012-10-4 13:29
stirng str1=null;
string str2="";
string str3=string.Empty;
1.string str2=""; 和 string str3=string.Empty; 大多情况下是一样的 ,string.Empty是系统内置的一个空字符串对象,推荐使用这个,方便阅读,跨平台也方便
例如:
QQ截图20121004132220.png
(9.4 KB, 下载次数: 64)
下载附件
2012-10-4 13:26 上传
2.string str1=null;和后两者的区别: string str1=null;是只定义了一个str1却没有为它分配内存空间,但接下来你要使用它则必须为它赋值
具体使用时,如果你确定在使用前会给str赋值就用string str=null,否则用string str= string.Empty
作者:
和志强
时间:
2012-10-4 13:32
如果要判断空字符串,性能上:
str.Length == 0 优于 str == string.Empty 优于 str == ""
作者:
赵雅晴
时间:
2012-10-4 15:56
string str1 = null是不给他分配内存空间的,如果确保在使用前赋值,这种声明的方式
比较推荐
string str2 = "";是开辟一个内存,但里面的值是空的,一般用于方便接收其他字符串时这样定义的
string str3= string.Empty是定义和初始化放在了一起
作者:
雷向阳
时间:
2012-10-5 12:19
stirng str1=null; 不分配空间
string str2=""; 分配空间,但是无值..
string str3=string.Empty; 这个应该也是要分配空间的..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2