我是初学者,我想问如何使这段代码更简单更短感谢所有回复
public static bool SelectedSingleAcc(SpecialForms.AccountManager am)
{
//checkbox1
if (am.selectedCB1.Checked == true
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox2
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == true
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox3
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == true
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox4
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == true
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox5
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == true
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox6
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == true
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == false) return true;
//checkbox7
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == true
&& am.selectedCB8.Checked == false) return true;
//checkbox8
if (am.selectedCB1.Checked == false
&& am.selectedCB2.Checked == false
&& am.selectedCB3.Checked == false
&& am.selectedCB4.Checked == false
&& am.selectedCB5.Checked == false
&& am.selectedCB6.Checked == false
&& am.selectedCB7.Checked == false
&& am.selectedCB8.Checked == true) return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
// get all values into an array for easier handling:
values = new[]
{
am.selectedCB1.Checked,
am.selectedCB2.Checked,
am.selectedCB3.Checked,
am.selectedCB4.Checked,
am.selectedCB5.Checked,
am.selectedCB6.Checked,
am.selectedCB7.Checked,
am.selectedCB8.Checked,
};
// find out if exactly one is true
return values.Count(val => val == true) == 1;
Run Code Online (Sandbox Code Playgroud)
也就是说......正确的 UI 决策是使用单选按钮而不是复选框。他们已经为您实现了这个逻辑。每当你发现自己对变量进行编号时,你都应该认真思考为什么这不应该是一个数组,而应该是许多单个变量。
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |