繁体   English   中英

是否存在检查字符串是否为空的边缘情况?

[英]Are there edge cases for checking if a string is null?

我最近获得了一位不再与该公司合作的作者的一些代码。 在整个代码中,我找到了这一行

if (string.Compare(string.Empty, textbox1.Text, true) == 0)

我不是最先进的C#程序员,但对我来说,功能上看起来和我一样

if (textbox1.Text == "")

是否有任何边缘情况,第一行将捕获第二行不会?

实际上,您应该使用String.IsNullOrEmpty(textbox1.Text)

正如评论中所指出的, String.IsNullOrWhitespace特别有用,因为你正在使用GUI控件,它通常只包含空格,而实际上并不是一个“空”字符串。

它是比较字符串忽略的情况 ,但它是一种不好的方式。 String.Equals有一个重载,用于比较字符串和忽略大小写。

要检查字符串是否由空字符串组成,应使用String.IsNullOrEmpty ,如果使用.Net framework 4.0或更高版本,并且要将空间视为空字符串,则可以使用string.IsNullOrWhiteSpace

如果您只想将值与空字符串进行比较,则textbox1.Text == ""textbox1.Text == string.Empty就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM