您的位置:首页 > 编程语言 > ASP

asp.net(c#)中String.Empty、NULL、"" 三者到底有啥区别和联系?

2017-08-16 11:34 441 查看
s == ""

s == string.empty

s.equals(”")

s.equals(string.empty)

s.length == 0


View Code
最后得到测试的结果如下:

[s == ""]

空字符串, 10315.6250 毫秒 短字符串, 8307.8125 毫秒 长字符串, 8564.0625 毫秒

[s == string.empty]

空字符串, 3573.4375 毫秒 短字符串,8307.8125 毫秒 长字符串, 8603.1250 毫秒

[s.equals("")]

空字符串, 9517.1875 毫秒 短字符串, 7537.5000 毫秒 长字符串, 7576.5625 毫秒

[s.equals(string.empty)]

空字符串, 9540.6250 毫秒 短字符串, 7515.6250 毫秒 长字符串, 7607.8125 毫秒

[s.length == 0]

空字符串, 443.7500 毫秒 短字符串, 443.7500 毫秒 长字符串, 445.3125 毫秒

很明显用字符串的length属性是最快的。

得到以下结论:
用s.equals("stringtocompare")来判断非空字符串是否相等,用 s.length == 0来判断是否是空字符串(注意这里不能用这个来判断字符串为null的情况,否则会出现“未将对象引用设置到对象的实例”的错误)。

在2.0中判断字符串是否为空(包含null的情况)用string.isnullorempty(str);

路过的高手进来讨论下,大家友好积极的发言,这三者到底啥区别,是不是正如以上这些解释。谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: