如何检查三个不同的文本字段是否为空? 我有以下代码,但它给出了一个错误。你能在if语句中测试三种不同的条件吗?
public bool IsFieldBlank(string fieldValue)
{
if (fieldValue != null)
{
return true;
}
else
{
return false;
}
}
private bool ValidateFields()
{
//attempts to check all three fields but will not compile to do syntex
if(IsFieldBlank(incidentTextBox.Text),IsFieldBlank(returnTextBox.Text),IsFieldBlank(actionTextBox.Text))
{
return true;
}
else
{
return false;
}
}
答案 0 :(得分:1)
这更短:
return string.IsNullOrWhitespace(fieldValue);
如果您不在.NET 4.0或更高版本,则可以使用:
return string.IsNullOrEmpty(fieldValue);
您仍然需要单独检查每个字段。
如果你在表单中有这些,你可以递归迭代子控件集合,并为每个控件检查它是TextBox
(使用is
关键字)并检查它。
答案 1 :(得分:0)
在进行类似检查时,您必须使用逻辑AND运算符。
if(IsFieldBlank(incidentTextBox.Text) && IsFieldBlank(returnTextBox.Text) &&IsFieldBlank(actionTextBox.Text))
答案 2 :(得分:0)
你需要改变你的if语句
if(IsFieldBlank(incidentTextBox.Text),IsFieldBlank(returnTextBox.Text),IsFieldBlank (actionTextBox.Text))
{
return true;
}
到此:
if((IsFieldBlank(incidentTextBox.Text))&&(IsFieldBlank(returnTextBox.Text))&&(IsFieldBlank(actionTextBox.Text)))
{
return true;
}
这将允许您的代码编译。如果所有文本框都为空,则返回true。如果你希望它返回true,如果它们中的任何一个是空白的,那么你需要使用OR运算符||
答案 3 :(得分:0)
private bool ValidateFields()
{
return !(string.IsNullOrEmpty(incidentTextBox.Text) || string.IsNullOrEmpty(returnTextBox.Text) || string.IsNullOrEmpty(actionTextBox.Text));
}