我正在处理一个 If 语句,我想满足两个条件来忽略循环。起初这似乎很容易,但现在……我不知道。这是我的困境...
if((radButton1.checked == false)&&(radButton2.checked == false))
{
txtTitle.Text = "go to work";
}
如果 radButton1 为 false 且 radButton2 为 true,则不会执行“去工作”的困境。难道不应该要求两个条件都为假才能跳过该语句吗?
不,它要求它们都为假才能执行该语句。
不,它需要两个条件都为假才能执行该语句。再读一遍:
if ((radButton1.checked == false) && (radButton2.checked == false)) {
txtTitle.Text = "Go to work";
}
英文:“如果 radButton1.checked 为假且 radButton2.checked 为假,则将 txtTitle.Text 设置为 'Go to work'”。
如果您想在两个条件都为假时跳过该语句,则否定您的逻辑,如下所示:
if ((radButton1.checked == true) || (radButton2.checked == true)) {
txtTitle.Text = "Go to work";
}
翻译成英文会这样写:“如果 radButton1.checked 为 true 或 radButton2.checked 为 true,则将文本设置为 'Go to work'”。这意味着如果任何条件为真,它将执行该语句,或者,如果两者都为假,则跳过它。
假设我有两个变量A
名为B
如果 A 和 B 有这些值
A true true false false
B true false true false
然后这些操作返回
AND true false false false
OR true true true false
XOR false true true false
NAND false true true true
NOR false false false true
XNOR true false false true
请注意,第二个表中的底部 3 是同一张表中顶部 3 的逻辑对立面(即它们尚未应用)。
txtTitle.Text ="go to work"
在您的示例中,只有两个按钮都为假时,它才会执行代码。因此,一个为真,一个为假,它将跳过该语句。
与真(或假)比较是完全没有必要的:
if(!((radButton1.checked == true)&&(radButton2.checked == true))) { ... }
变成
if( !(radButton1.checked && radButton2.checked) ) { ... }
或同样
if( !radButton1.checked || !radButton2.checked ) { ... }
不,它要求其中一个陈述是错误的才能跳过。看看你的如果:
if (condition1 && condition2) {
doSomething();
}
因此,如果条件 1 或条件 2 不为真,则它不会执行。
我让它工作。我看到它们都需要为假才能执行该语句,对于该语句,满足这两个条件的方法是使用
if(!((radButton1.checked == true)&&(radButton2.checked == true)))
{
...
}