String.Empty、string=”” 和null的区别
来源:互联网 发布:软件风格 编辑:程序博客网 时间:2024/06/05 00:23
String.Empty是string类的一个静态常量;
String.Empty和string=””区别不大,因为String.Empty的内部实现是:
1
2
3
4
5
6
7
8
9
10
11
12
public
static
readonly
string
Empty;
//这就是String.Empty 那是只读的String类的成员,也是string的变量的默认值是什么呢?
//String的构造函数
static
String(){
Empty =
""
;
//Empty就是他""
WhitespaceChars =
new
char
[] {
'\t'
,
'\n'
,
'\v'
,
'\f'
,
'\r'
,
' '
,
'\x0085'
,
'\x00a0'
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
' '
,
''
,
'\u2028'
,
'\u2029'
,
' '
,
''
};
}
再看一段代码:
1
2
3
4
5
6
7
8
string
s1 =
""
;
string
s2 =
string
.Empty;
if
(s1 == s2)<br>{
Console.WriteLine(
"一模一样!"
);
}
// 结果都是True
Console.WriteLine(
""
.Equals(
string
.Empty));
Console.WriteLine(
object
.ReferenceEquals(
string
.Empty,
""
));
既然String.Empty和string=””一样,同样需要占用内存空间,为什么推荐优先使用String.Empty ?
string.Empty只是让代码好读,防止代码产生歧义,比如说:
string s = ""; string s = " "; 这个不细心看,很难看出是空字符串还是空格字符。
如果判断一个字符串是否是空串,使用
if(s==String.Empty)和if(s==””)的效率是一样的,但是最高效的写法是if(s.Length==0)
string.IsNullOrEmpty的内部实现方式:
public
static
bool
IsNullOrEmpty(
string
value)<br>{<br>
if
(value !=
null
)
{
return
(value.Length == 0);
}
return
true
;
}
而string str=null则是表示str未指向任何对象。
1 0
- string=Null和string.Empty的区别
- String.Empty、string=”” 和null的区别
- String.Empty、string=”” 和null的区别
- String.Empty、string=”” 和null的区别
- String.Empty、string=”” 和null的区别
- String.Empty ,String=“”和null的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- String.Empty、null和""的区别
- String.Empty,NULL和""的区别
- Reflected Cross Site Scripting (XSS)
- Maven插件开发
- 折半查找
- CSU 1374 Restore Calculation(数位dp)
- 找出字符串中第一个只出现一次的字符——来自华为OJ平台测试基础篇
- String.Empty、string=”” 和null的区别
- Linux sqlite3基本命令
- 32位16位8位寄存器及编号
- 在EditPlus中配置PHP调试
- Codeforces 475B Strongly Connected City 强连通裸题
- UI 常用方法总结之--- UIWindow UIView (不断更新中)
- 素数距离问题
- 一个帖子学会Android四大组件
- cocos2dx面试题-第二波