Pregunta

Estoy trabajando en una instrucción If y quiero satisfacer dos condiciones para ignorar el ciclo. Esto parecía fácil al principio, pero ahora ... no lo sé. este es mi dilema ...

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

El dilema es "ir a trabajar" no se ejecuta si radButton1 es falso y radButton2 es verdadero. ¿No debería requerir que ambas condiciones sean falsas para omitir la declaración?

¿Fue útil?

Solución

No, requiere que ambos sean falsos para ejecutar la declaración.

Otros consejos

No, requiere que ambas condiciones sean falsas para ejecutar la declaración. Leer de nuevo:

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

En inglés: " Si radButton1.checked es falso Y radButton2.checked es falso, establezca el txtTitle.Text a 'Ir a trabajar' " ;.

Si desea omitir la declaración cuando ambas condiciones son falsas, entonces niegue su lógica, así:

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

Esto, traducido al inglés, leería: " Si radButton1.checked es verdadero O radButton2.checked es verdadero, entonces configure el texto como 'Ir a trabajar' " ;. Esto significa que si alguna condición es verdadera, ejecutará la declaración o, si ambas son falsas, la omitirá.

Digamos que tengo dos variables llamadas A y B

Si A y B tienen estos valores

A     true    true    false   false
B     true    false   true    false

entonces estas operaciones regresan

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

Tenga en cuenta que los 3 inferiores en la segunda tabla son los opuestos lógicos (es decir, NO se han aplicado) de los 3 superiores en la misma tabla.

comparar con verdadero (o falso) es completamente innecesario:

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

se convierte

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

o igualmente

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

En su ejemplo, SOLO ejecutará el código txtTitle.Text = " ir a trabajar " si AMBOS botones son falsos. Entonces, si uno es verdadero y otro falso, se saltará la declaración.

No. Se requiere que una de esas declaraciones sea falsa para omitir. Mira tu if:

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

Entonces, si la condición1 O la condición2 no es verdadera, entonces no se ejecutará.

Lo tengo para trabajar. Veo que ambos necesitan ser falsos para ejecutar la declaración, para esa declaración, la forma de satisfacer ambas condiciones es usando

if(!((radButton1.checked == true)&&(radButton2.checked == true)))
{
    ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top