【发布时间】:2012-02-28 16:31:54
【问题描述】:
我有几个布尔值检查。我想检查任何返回 false 的值然后做点什么。
我尝试了以下操作:
bool formIsValid = true;
try{
Utility.testStringHasValue(txEmail.Text); <--- true
Utility.testStringHasValue(txFirstName.Text); <--- true
Utility.testStringHasValue(txLastName.Text); <--- FALSE
Utility.testStringHasValue(txUserEmployer.Text); <--- true
Utility.testStringHasValue(txUserPassword.Text); <--- true
Utility.testStringHasValue(txUserPassword2.Text); <--- true
}
catch (Exception)
{
formIsValid = false
}
.. 任何其他解决方案,因为这个根本没有!
更新
我完全删除了 Try/Catch 并使用了:
bool isFormValid = Utility.testStringHasValue(txEmail.Text)
&& Utility.testStringHasValue(txFirstName.Text)
&& Utility.testStringHasValue(txLastName.Text)
&& Utility.testStringHasValue(txUserEmployer.Text)
&& Utility.testStringHasValue(txUserPassword.Text)
&& Utility.testStringHasValue(txUserPassword2.Text)
&& (txUserPassword.Text == txUserPassword2.Text);
【问题讨论】:
-
不是一个很好的异常处理案例。
-
什么是
Utility.testStringHasValue? -
这里的 try/catch 基本上充当了一个未标记的 goto :(