-2

如何检查三个不同的文本字段是否有空值?我有以下代码,但它给出了错误。你能在 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;

        }
    }
4

4 回答 4

1

这更短:

return string.IsNullOrWhitespace(fieldValue);

如果您不在 .NET 4.0 或更高版本上,您可以使用:

return string.IsNullOrEmpty(fieldValue);

您仍然需要单独检查每个字段。

如果您在表单中有这些,您可以递归地迭代子控件集合并为每个控件检查它是否是TextBox(使用is关键字)并检查它。

于 2012-06-16T18:51:21.417 回答
0
 private bool ValidateFields()     
{ 
        return !(string.IsNullOrEmpty(incidentTextBox.Text) || string.IsNullOrEmpty(returnTextBox.Text) || string.IsNullOrEmpty(actionTextBox.Text));
 } 
于 2012-06-16T19:02:22.917 回答
0

进行这样的检查时,您必须使用逻辑 AND 运算符。

if(IsFieldBlank(incidentTextBox.Text) && IsFieldBlank(returnTextBox.Text) &&IsFieldBlank(actionTextBox.Text))
于 2012-06-16T18:53:32.607 回答
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 运算符 ||

于 2012-06-16T18:53:46.477 回答