Я работаю над оператором If и хочу выполнить два условия, чтобы игнорировать цикл. Сначала это казалось легким, но теперь ... я не знаю. это моя дилемма ...
if ((radButton1.checked == false)&&(radButton2.checked == false))
{
txtTitle.Text = "go to work";
}
Дилемма «приступить к работе» не выполняется, если radButton1 имеет значение false, а radButton2 истинно. Разве не должно требоваться, чтобы оба условия были ложными, чтобы пропустить оператор?





Нет, он требует, чтобы они оба были ложными для выполнять оператора.
Нет, это требует, чтобы оба условия были ложными для оператора выполнять. Прочитай заново:
if ((radButton1.checked == false) && (radButton2.checked == false)) {
txtTitle.Text = "Go to work";
}
На английском языке: «Если radButton1.checked - ложь И radButton2.checked - ложь, то установите текст txtTitle.Text для «Иди на работу» ».
Если вы хотите пропустить оператор, когда оба условия ложны, отвергните свою логику, например:
if ((radButton1.checked == true) || (radButton2.checked == true)) {
txtTitle.Text = "Go to work";
}
В переводе на английский это будет выглядеть так: «Если radButton1.checked - истина ИЛИ radButton2.checked - истина, тогда установите текст на« Go to work »». Это означает, что если какое-либо условие истинно, оно выполнит оператор или, если оба ложны, пропустит его.
Я сожалею о том, что. Я хочу, чтобы он выполнил команду, если они оба ложны, но кажется, что он прыгает, если одно из условий ложно.
Вам нужно установить отладчик и посмотреть, что происходит ... вы можете подумать, что это правда, но может быть не так
В вашем примере он будет выполнять код txtTitle.Text = "go to work" ТОЛЬКО, если ОБЕИХ кнопки являются ложными. Таким образом, одно из истинных, а другое - ложных, пропустит утверждение.
Нет. Чтобы пропустить одно из этих утверждений, необходимо, чтобы оно было ложным. Посмотрите, если:
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 во второй таблице являются логическими противоположностями (т. Е. Они НЕ применялись) первых трех в той же таблице.
Я заставил его работать. Я вижу, что они оба должны быть ложными для выполнения оператора, для этого оператора способ удовлетворить оба условия - использовать
if (!((radButton1.checked == true)&&(radButton2.checked == true)))
{
...
}
Что логически эквивалентно: if (radButton1.checked == false || (radButton2.checked == false) {...} Мораль истории, важно понимать разницу между ИЛИ (||) и И (&& ).
Лулу, Гбарри и Винко изо всех сил пытались объяснить, что есть что? После этого вы также не могли решить, что вам нужно. Ваш измененный код и первый фрагмент кода делают то же самое. Я думаю, тебе нужно пойти и прояснить основы.
сравнение с истиной (или ложью) совершенно не нужно:
if (!((radButton1.checked == true)&&(radButton2.checked == true))) { ... }
становится
if ( !(radButton1.checked && radButton2.checked) ) { ... }
или в равной степени
if ( !radButton1.checked || !radButton2.checked ) { ... }
вот о чем я думал. И выглядит намного чище
Похоже, что вам нужно ||, а не &&. && делает то, что написано на этикетке «и». a && b истинно, если оба истинны и a AND b.