C# 将多个方法调用包装到一个if语句中

C# 将多个方法调用包装到一个if语句中,c#,validation,if-statement,C#,Validation,If Statement,我调用了一个验证方法来验证表单上的字段。我想将它们放入if语句检查,看看它们是否返回true,然后在else语句中将它们插入到我的数据库中。我已经声明了方法和insert方法。如何编写这个if语句来检查是否所有验证方法都返回true 我的方法验证调用: formValidation(firstnameTextBox.Text); formValidation(lastnameTextBox.Text); formValidation(usernameTextBox.Text); formVali

我调用了一个验证方法来验证表单上的字段。我想将它们放入if语句检查,看看它们是否返回true,然后在else语句中将它们插入到我的数据库中。我已经声明了方法和insert方法。如何编写这个if语句来检查是否所有验证方法都返回true

我的方法验证调用:

formValidation(firstnameTextBox.Text);
formValidation(lastnameTextBox.Text);
formValidation(usernameTextBox.Text);
formValidation(passwordTextBox.Text);
formValidation(emailTextBox.Text);
formValidation(cellnumberTextBox.Text);
只需使用AND运算符(
&&

同样,如果您希望无论发生什么情况都运行所有方法(显示每个字段的相关错误),并且在遇到第一个错误时不立即停止,则可以使用非短路and运算符,即
&
运算符

或者,您可以将文本框放入一个集合并对该集合执行操作:

var fieldsToValidate = new TextBox[]{firstnameTextBox, lastnameTextBox, ...}
if(fieldsToValidate.All(field => formValidation(field.Text));
只需使用AND运算符(
&&

同样,如果您希望无论发生什么情况都运行所有方法(显示每个字段的相关错误),并且在遇到第一个错误时不立即停止,则可以使用非短路and运算符,即
&
运算符

或者,您可以将文本框放入一个集合并对该集合执行操作:

var fieldsToValidate = new TextBox[]{firstnameTextBox, lastnameTextBox, ...}
if(fieldsToValidate.All(field => formValidation(field.Text));

Servy我不知道它会这么简单。问题不完全是这样,但如果你想确保所有这些都能运行,只需使用一个符号。如前所述,“formValidation”函数只在返回第一个false之前被调用(惰性评估)@drew_w你是什么意思?@Kpt.Khaos两个都试一下,自己看看;在这一点上应该很清楚。@Kpt.Khaos如果您写“If(x()&&y()){…}”,那么当x返回true时,将调用y。如果x返回false,则永远不会调用y。如果你使用一个符号and,无论其他符号返回什么,每次都会调用x和y。Servy我不知道会这么简单。问题不完全是这样,但如果你想确保所有这些都能运行,只需使用一个符号and。如前所述,“formValidation”函数只在返回第一个false之前被调用(惰性评估)@drew_w你是什么意思?@Kpt.Khaos两个都试一下,自己看看;在这一点上应该很清楚。@Kpt.Khaos如果您写“If(x()&&y()){…}”,那么当x返回true时,将调用y。如果x返回false,则永远不会调用y。如果使用单个“与”,则无论另一个返回什么,每次都会调用x和y。