Quello di cui si parla è l'operatore "ternario" o "condizionale", che esegue una sostituzione in linea secondo una condizione.
La sintassi è:
condition ? trueValue : falseValue
Io di solito buttare parentesi intorno alla mia condizione, a volte in giro per tutta operatore condizionale. Dipende da quanto sto cercando di delineare da tutto il resto.
Così, per esempio, si supponga di voler restituire il più grande dei due numeri:
public int max(int a, int b)
{
return (a > b) ? a : b;
}
Avviso che può essere sostituito in mezzo qualcos'altro.
OK, ora affrontiamo la tua domanda relativa al passaggio di un tipo booleano.
myVar = (myVar) ? false : true;
è come si farebbe con l'operatore condizionale. (Anche in questo caso, le parentesi non sono richieste, ho appena li favore.)
ma c'è un modo più semplice per attivare o disattivare la booleano ... utilizzando l'operatore logico NOT ("!"):
myVar = !myVar;
Tenere è semplice. :-)
fonte
2010-09-10 18:48:14
presumo che sia un errore di battitura, la v extra? –
se trovi che una delle risposte è ciò che stavi cercando, puoi cliccare sul segno di spunta "accetto" sotto il numero. – OscarRyz