如何计算If循环中“真”的OR条件,并为不同的计数结果执行不同的代码

时间:2014-04-08 18:58:28

标签: if-statement casting type-conversion boolean-logic logical-operators

我在If循环中有5个不同的OR条件:

if(cond1 || cond2 || .... || cond5)

所有条件都是C#中的bool类型

问题是如果任何一个条件为真,我必须执行某些代码,当任何两个条件为真时,另一个代码,当任何三个条件为真时,另一个代码,当任何四个为真时,另一个代码,当全部为真时,另一个代码为真当没有一个是真的时,另一个代码。

如何解决问题?

我的方法是:

if(1 == (Convert.ToInt(cond1) + Convert.ToInt(cond2) + ... + Convert.ToInt(cond5)))
{
  //Code1
}
else if(2 == (Convert.ToInt(cond1) + Convert.ToInt(cond2) + ... + Convert.ToInt(cond5)))
{
  //Code2
}
.... and so on...

有没有更好的方法?

1 个答案:

答案 0 :(得分:1)

int count =     
Convert.ToInt32(cond1)+Convert.ToInt32(cond1)+...+Convert.ToInt32(cond1);

switch(count)
{
    case 1:
    //your code here
    break;
    .
    .
    .
    case 5:
    //your code here
    break;
}

这可能对你有帮助..