我有两个文本框。如果textbox.text中的1为空,则MessageBox将显示提示用户他们没有完全输入字段。但它不起作用......
这是代码:
private void tab1nextButton_Click(object sender, RoutedEventArgs e)
{
if ((AntcbatchpathTextBox.Text == null) || (MasterbuildpropertiespathTextBox.Text == null))
{
System.Windows.MessageBox.Show("You have not specified the paths completely!");
}
else
{
Tabitem2.Visibility = Visibility.Visible;
Tabcontrol1.SelectedIndex = 1;
}
}
我尝试添加断点来检查立即值。当Textbox.Text中的任何一个为空时,立即值分别为“”。我的代码有什么问题吗?
答案 0 :(得分:6)
尝试string.IsNullOrEmpty(AntcbatchpathTextBox.Text)
答案 1 :(得分:2)
空字符串和空字符串之间存在差异。
空文本框将包含空字符串,因此您必须检查...Text == ""
或...Text == string.Empty
而不是...Text == null
。
答案 2 :(得分:0)
String.Empty
和null
不一样
在您为空TextBox
的情况下,它始终为String.Empty
。
您应该使用String.IsNullOrEmpty
方法检查Empty
:
String.IsNullOrEmpty(AntcbatchpathTextBox.Text)
或
AntcbatchpathTextBox.Text == String.Emtpy
AntcbatchpathTextBox.Text == ""
另见这个问题/答案:In C#, should I use string.Empty or String.Empty or "" ?
答案 3 :(得分:0)
空字符串和空字符串是两个不同的概念。 Null是一个引用,它不指向内存中的任何对象。空字符串是一个零长度的字符串对象,它是在堆上创建的。如果检查not null,则仅检查引用是否指向对象而不检查其他内容。对于空字符串,您应该包括单独的检查,或者只使用string.IsNullOrEmpty
答案 4 :(得分:0)
你必须检查空字符串。你有'AntcbatchpathTextBox.Text == null'的代码检查空引用。请改用它。
string.IsNullOrEmpty(AntcbatchpathTextBox.Text)