If statement 如何计算以下情况或条件:;“真的”;在If循环中,为不同的计数结果执行不同的代码

If statement 如何计算以下情况或条件:;“真的”;在If循环中,为不同的计数结果执行不同的代码,if-statement,casting,type-conversion,boolean-logic,logical-operators,If Statement,Casting,Type Conversion,Boolean Logic,Logical Operators,在If循环中,我有5种不同的OR条件: if(cond1 || cond2 || .... || cond5) 所有条件均为C中的布尔类型# 问题是,如果任何一个条件为真,我必须执行某些代码;当任何两个条件为真时,我必须执行另一个代码;当任何三个条件为真时,我必须执行另一个代码;当任何四个条件为真时,我必须执行另一个代码;当所有条件均为真时,我必须执行另一个代码;当没有条件为真时,我必须执行另一个代码 我如何解决这个问题 我的做法是: if(1 == (Convert.ToInt(cond1)

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

if(cond1 || cond2 || .... || cond5)
所有条件均为C中的布尔类型#

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

我如何解决这个问题

我的做法是:

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...
有没有更好的办法

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;
}

这可能会对您有所帮助。

为什么不将它们全部相加,然后执行条件?@MooingDuck我只能将其作为整数相加。添加bool变量会出现错误:“运算符“+”不能应用于“bool”类型的操作数”