Domanda

Sto lavorando su un'istruzione If e voglio soddisfare due condizioni per ignorare il ciclo. All'inizio sembrava facile, ma ora ... non lo so. questo è il mio dilemma ...

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

Il dilemma è " vai al lavoro " non viene eseguito se radButton1 è falso e radButton2 è vero. Non dovrebbe richiedere che entrambe le condizioni siano false per saltare l'affermazione?

È stato utile?

Soluzione

No, richiede che siano entrambi falsi per eseguire la dichiarazione.

Altri suggerimenti

No, richiede che entrambe le condizioni siano false per eseguire la dichiarazione. Leggi di nuovo:

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

In inglese: " Se radButton1.checked è falso E radButton2.checked è falso, impostare txtTitle. Testo in "Vai al lavoro" " ;.

Se vuoi saltare l'affermazione quando entrambe le condizioni sono false allora nega la tua logica, in questo modo:

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

Questo, tradotto in inglese, reciterebbe: " Se radButton1.checked è vero O radButton2.checked è vero, quindi imposta il testo su "Vai al lavoro" " ;. Ciò significa che se una qualsiasi condizione è vera, eseguirà l'istruzione o, se entrambe sono false, per saltarla.

Supponi di avere due variabili denominate A e B

Se A e B hanno questi valori

A     true    true    false   false
B     true    false   true    false

quindi queste operazioni ritornano

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

Si noti che i 3 inferiori nella seconda tabella sono gli opposti logici (ovvero NON sono stati applicati) dei primi 3 nella stessa tabella.

il confronto con vero (o falso) è del tutto superfluo:

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

diventa

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

o ugualmente

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

Nel tuo esempio eseguirà SOLO il codice txtTitle.Text = " vai a lavorare " se ENTRAMBI i pulsanti sono falsi. Quindi uno che è vero e uno che è falso salterà l'affermazione.

No. Richiede che una di quelle affermazioni sia falsa da saltare. Guarda il tuo if:

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

Quindi, se condition1 OR condition2 non è vero, non verrà eseguito.

L'ho fatto funzionare. Vedo che entrambi devono essere falsi per eseguire l'affermazione, per tale affermazione, il modo per soddisfare entrambe le condizioni è utilizzando

if(!((radButton1.checked == true)&&(radButton2.checked == true)))
{
    ...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top