c#或运算符,如何找到触发的选项

c#或运算符,如何找到触发的选项,c#,C#,因此,如果我使用或声明如下: if (option1 == true || option2 == true) { Print("would like to print the option that triggered above"); } 如何确定这两个选项中的哪一个已被触发 谢谢不过,你可能会进入危险的水域,因为你可能会遇到这样的情况:option1==true和option2==true 如果你真的需要知道是哪一个被触发了,我建议你分道扬镳if(option1==true){…}

因此,如果我使用或声明如下:

if (option1 == true || option2 == true)
{
    Print("would like to print the option that triggered above");
}
如何确定这两个选项中的哪一个已被触发


谢谢

不过,你可能会进入危险的水域,因为你可能会遇到这样的情况:
option1==true
option2==true

如果你真的需要知道是哪一个被触发了,我建议你分道扬镳
if(option1==true){…}else if(option2==true){…}else{…}

您也可以这样做:

if(option1 == true || option2 == true) {
    if(option1 == true) {}
    if(option2 == true) {}
}

您必须在if语句中再次测试它们

注意您使用的短路“或”语句(| |)。因此,如果选项1为真,它将不会测试第二个条件

   if (option1 == true || option2 == true)
            {
                if (option1 == true)
                {
                    Print("option1");
                }
                else
                {
                    Print("option2");
                }              
            }

对不起,你不能

但是,您可以拆分if语句

if (option1 == true)
{
    Print("option1 is true");
}
if (option2 == true)
{
    Print("option2 is true");
}
或者在if语句中添加额外的检查(但这是无用的)

你也可以使用

if(option1){}
而不是

if(option1 == true){}
哦,你也可以用这个来检查两者是否都是真的

if (option1 == true && option2 == true)
{
    Print("both options are true");
}

您可以使用
else(如果
条件)执行此操作

   if (option1 == true || option2 == true)
            {
                if (option1 == true)
                {
                    Print("option1");
                }
                else
                {
                    Print("option2");
                }              
            }
例如:


在代码中找不到哪个语句是触发器,需要2个语句

if (option1 == true || option2 == true)// statement 1
{
    Print( option1  ?  "option 1 triggered above" : "option 2 triggered above");// statement 2
}

只是分成两个语句?或者在调试模式下添加另一个嵌套的,将断点和鼠标放在
=
上。或同时显示两个选项。
if(选项1 | |选项2)打印(选项1?:“2”)
@SergeyBerezovskiy是正确的,因为在C#
|
&&
中,如果结果不能由第一个(先前)选项确定,则仅评估第二个(和后面的)选项。另请参见。如果两个选项都为真,该怎么办?添加了关于短路的注释。
    if(option1 && !option2)
    {
        //Option 1
    }else if(!option1 && option2)
    {
        //option 2
    }else if(option1 && option2)
    {
        //both
    }
    else
    {
        //no option
    }
if (option1 == true || option2 == true)// statement 1
{
    Print( option1  ?  "option 1 triggered above" : "option 2 triggered above");// statement 2
}