Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么这是一个;近在咫尺,远在眼前”;如果声明?_C#_.net_Logic - Fatal编程技术网

C# 为什么这是一个;近在咫尺,远在眼前”;如果声明?

C# 为什么这是一个;近在咫尺,远在眼前”;如果声明?,c#,.net,logic,C#,.net,Logic,我正在处理一个If语句,我想满足两个条件来忽略循环。起初这似乎很容易,但现在。。。我不知道。这就是我的困境 if((radButton1.checked == false)&&(radButton2.checked == false)) { txtTitle.Text = "go to work"; } 进退两难的是,如果radButton1为假,radButton2为真,则不执行“开始工作”。是否应该要求两个条件都为false才能跳过语句?否,执行语句时要求它们都为f

我正在处理一个If语句,我想满足两个条件来忽略循环。起初这似乎很容易,但现在。。。我不知道。这就是我的困境

if((radButton1.checked == false)&&(radButton2.checked == false))
{
    txtTitle.Text = "go to work";
}

进退两难的是,如果radButton1为假,radButton2为真,则不执行“开始工作”。是否应该要求两个条件都为false才能跳过语句?

否,执行语句时要求它们都为false。

否,执行语句时要求两个条件都为false。再读一遍:

if ((radButton1.checked == false) && (radButton2.checked == false)) {
    txtTitle.Text = "Go to work";
}
英语:“如果radButton1.checked为false,radButton2.checked为false,则设置 将txtTitle.Text设置为“开始工作”

如果要在两个条件都为false时跳过该语句,请否定逻辑,如下所示:

if ((radButton1.checked == true) || (radButton2.checked == true)) {
    txtTitle.Text = "Go to work";
}

这句话翻译成英语的意思是:“如果radButton1.checked为true或radButton2.checked为true,那么将文本设置为‘开始工作’”。这意味着,如果任何条件为true,它将执行该语句,或者,如果两者都为false,则跳过该语句。

在您的示例中,只有当两个按钮都为false时,它才会执行
txtitle.Text=“go to work”
code。因此,一个为真,一个为假,它将跳过该语句。

否。跳过该语句需要其中一个为假。看看你的假设:

if (condition1 && condition2) {
    doSomething();
}

因此,如果条件1或条件2不是真的,那么它将不会执行。

假设我有两个变量,分别名为
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的逻辑对立(即它们没有应用)。

我让它起作用了。我看到它们都需要为false才能执行该语句,对于该语句,满足这两个条件的方法是使用

if(!((radButton1.checked == true)&&(radButton2.checked == true)))
{
    ...
}
与真(或假)进行比较完全没有必要:

if(!((radButton1.checked == true)&&(radButton2.checked == true))) { ... }
变成

if( !(radButton1.checked && radButton2.checked) ) { ... }
或者同等地

if( !radButton1.checked || !radButton2.checked ) { ... }

对此我很抱歉。如果两个条件都为false,我希望它执行该命令,但如果一个条件为false,它似乎会跳转。你需要放置一个调试器,看看发生了什么。。。你可能认为其中一个是真的,但可能不是逻辑上等价的情况:如果(radButton1.checked==false | | | | | | | | | | | | | | | | | | | | | | | | 124Lulu、gbarry和Vinko已经尽力解释了什么是什么?之后你也无法决定你想要什么。你修改的代码和第一个代码片段做了完全相同的事情。我认为你需要去弄清楚你的基本知识。这就是我所想的。它看起来非常清晰,就像你想要的是| |,而不是&&&&如果a和b都是真的,那么标签上的“and”.a&&b是真的。