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
}