我有一个表单,其中有许多textBoxes,需要填写三个文本框才能提交表单.我不想为每个文本框使用每个If块.有没有办法为所有三个文本框使用单个if语句?我使用以下代码:
if (textBox1.Text != "" || textBox2.Text != "" || textBox4.Text != "")
{
// Code
}
else
{
MessageBox.Show("Fill required fields");
}
Run Code Online (Sandbox Code Playgroud)
但是这个代码甚至可以填充单个文本狐狸,其余的所需文本框都是空的.
Dar*_*mas 15
if (textBox1.Text != "" && textBox2.Text != "" && textBox4.Text != "")
{
// Code
}
else
{
MessageBox.Show("Fill required fields");
}
Run Code Online (Sandbox Code Playgroud)
你希望所有条件都通过.这符合逻辑AND运算符的语义&&.
如果您有大量的文本框,我倾向于将它们保存在列表中:
var boxes = new List<TextBox>{
textBox1,
textBox2,
textBox3,
//...
};
if (boxes.Any(tb => string.IsNullOrEmpty(tb.Text)))
{
MessageBox.Show("Fill required fields");
}
else
{
// Code
}
Run Code Online (Sandbox Code Playgroud)
我也倾向于在if部件中保留异常,返回或抛出错误并省略else一部分,因为这只是正常的代码流.这样可以使您希望的代码尽可能地向左运行.
| 归档时间: |
|
| 查看次数: |
10127 次 |
| 最近记录: |