在if语句中哪个条件为真

时间:2012-02-01 20:19:38

标签: c# if-statement conditional-statements

说我有if声明

if(condition1 || condition2 || condition3)
{
 //do something
}

当我们进入循环时,是否有可能找出3个条件中的哪一个?

7 个答案:

答案 0 :(得分:3)

是的,您可以使用以下内容单独检查每个:

if(condition1 || condition2 || condition3) {
    if (condition1) { doSomethingOne(); }
    if (condition2) { doSomethingTwo(); }
    if (condition3) { doSomethingThree(); }
    doSomethingCommon();
}

当然假设条件在过渡期间不太可能发生变化(例如,使用线程,中断或内存映射I / O)。

答案 1 :(得分:1)

没有。你必须做类似的事情:

if(condition1 || condition2 || condition3)

{

if (condition1) {
}

if (condition2) {
}

if (condition3) {
}

//do something

}

答案 2 :(得分:1)

有可能通过使用另一个来查询每个条件是真实的,如果有效地渲染第一个条件是无用的。

答案 3 :(得分:1)

一种简单的方法。

if(condition1 || condition2 || condition3)
    {
     if(condition1){
      //do something
     }
     if(condition2){
      //do something
     }
     if(condition3){
      //do something
     }
}

或者,如果您知道只有其中一个条件成立,请考虑使用switch

答案 4 :(得分:0)

在致电if语句之前,您可以致电:

System.out.println(condition1);
System.out.println(condition2);
System.out.println(condition3);

找出哪些条件属实。 如果您希望根据条件使程序的行为不同,则需要将该代码放在单独的if语句中。

答案 5 :(得分:0)

没有。但是你可以通过: 一世。在3或条件中使用单独的if else 要么 II。在单独的对中打破三个或条件以找出匹配值

答案 6 :(得分:-1)

你有短路操作员。 ||和&&。

所以说比如你有条件,

if(x&& y || z)

如果x&& y并不评估为真,那么y和z永远不会被比较。但是如果X和Y为真,那么它将测试y或z。在这种情况下,您的真实值来自x和y为真,y或z为真的事实。