我最近获得了一位不再与该公司合作的作者的一些代码。 在整个代码中,我找到了这一行
if (string.Compare(string.Empty, textbox1.Text, true) == 0)
我不是最先进的C#程序员,但对我而言似乎与
功能相同if (textbox1.Text == "")
是否存在第一行会捕获第二行不会的边缘情况?
答案 0 :(得分:7)
实际上,您应该使用String.IsNullOrEmpty(textbox1.Text)
代替。
正如评论中所指出的,String.IsNullOrWhitespace
特别有用,因为你正在使用GUI控件,它通常只包含空格,而实际上并不是一个“空”字符串。
答案 1 :(得分:6)
比较字符串忽略大小写,但这是一种不好的方法。 String.Equals
有一个用于比较字符串和忽略大小写的重载。
要检查字符串是否由空字符串组成,应使用String.IsNullOrEmpty
,如果您使用的是.Net framework 4.0或更高版本,并且您想将空格视为空字符串,则可以使用string.IsNullOrWhiteSpace
。
如果您只想将值与空字符串进行比较,则textbox1.Text == ""
或textbox1.Text == string.Empty
就足够了。