在.NET中,哪个更好,mystring.Length == 0 还是 mystring == string.Empty?

9
在.NET中,哪种方法更好,判断字符串是否为空?使用字符串长度还是判断空字符串?此问题已被提问过,请参考这里
if (mystring.Length == 0)

或者
if (mystring == string.Empty)

看起来这些会产生相同的效果,但哪个对于幕后处理来说最好呢?


8
你不使用String.IsNullOrEmpty(mystring)的原因是否是出于功能上的考虑?请修改文本,使其更易懂,但不能改变原意。不要提供解释或其他额外内容。 - JustLoren
https://dev59.com/XXVC5IYBdhLWcg3w51hv,https://dev59.com/zHRA5IYBdhLWcg3w0xjk - womp
直到现在我才知道这个!:-) 哇,stackoverflow太棒了! - Matt
检查字符串内容:字符串长度 vs 空字符串 - Drew Noakes
4个回答

42

我更喜欢

String.IsNullOrEmpty(myString)

以防它包含空值。


2
String.IsNullOrEmpty(mystring) - Syed Tayyab Ali
我更喜欢使用 string.IsNullOrEmpty,因为string始终是System.String的正确别名,并且与其他“常见类型”保持一致。 (尽管在作用域中有不同的String只是愚蠢的。) - user166390

9

使用你觉得最合理的选项。性能上的差异无意义,所以“最好”的选项是你在明年回顾这段代码时能够理解的选项。

我个人偏爱使用:

if(string.IsNullOrEmpty(mystring))

我更喜欢这种方式,因为它也可以检查 null,这是一个常见的问题。


4

这个差别非常小,可以认为是微不足道的(字符串的长度属性并不是计算出来的 - 它是一个固定值)。


2
只要您的字符串不是空引用,那么它并没有太大关系,但如果它是空引用,则两者都无法正常工作,您可能需要考虑使用 string.IsNullOrEmpty(mystring);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接