[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)