我在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...
有没有更好的方法?
答案 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;
}
这可能对你有帮助..