Bli*_*ick 9 c# asp.net logic boolean-logic boolean
我有几个bool元素,我正在检查它是否返回我的假.
bool i = false;
switch (idcount)
{
case 1: i = p1(); break;
case 2: i = p1() & p2(); break;
case 3: i = p1() & p2() & p3(); break;
case 4: i = p1() & p2() & p3() & p4(); break;
case 5: i = p1() & p2() & p3() & p4() & p5(); break;
case 6: i = p1() & p2() & p3() & p4() & p5() & p6(); break;
case 7: i = p1() & p2() & p3() & p4() & p5() & p6() & p7(); break;
}
return i;
Run Code Online (Sandbox Code Playgroud)
我想如果p*()中的一个在任何情况下返回false,则返回false.是正确的方式还是两个错误的回报都是真的?我希望所有p*()返回true我返回true ..
使用&&
(逻辑和)不&
(二元运算符)
喜欢:
p1() && p2();
只有当所有p*()
都为真(相同&
)时它才会返回true ,但请注意,如果第一个p*()
将返回false,则不会计算表达式的其余部分.在&
整个表达的情况下将被评估
var functions = new List<Func<bool>>();
functions.Add(p1);
functions.Add(p2);
functions.Add(p3);
functions.Add(p4);
functions.Add(p5);
functions.Add(p6);
functions.Add(p7);
return functions.Take(idcount).All(x=>x());
Run Code Online (Sandbox Code Playgroud)
尝试上面它看起来比switch语句更清晰,并应检查所有第一个idcount
条目是否与switch case相同&&
归档时间: |
|
查看次数: |
244 次 |
最近记录: |