Lo que estamos hablando es el "ternaria" o "condicional" operador, lo que hace una sustitución en línea de acuerdo con una condición.
La sintaxis es la siguiente:
condition ? trueValue : falseValue
lo general tirar paréntesis alrededor de mi condición, a veces alrededor de todo el operador condicional. Depende de cuánto estoy tratando de delinearlo de todo lo demás.
Así, por ejemplo, suponga que desea devolver el mayor de dos números:
public int max(int a, int b)
{
return (a > b) ? a : b;
}
Tenga en cuenta que puede ser sustituido en el medio de algo más.
Bien, ahora abordemos su pregunta real sobre alternar un tipo booleano.
myVar = (myVar) ? false : true;
es cómo lo haría con el operador condicional. (Una vez más, no se requieren paréntesis, sólo los favorecen.)
pero hay una manera más sencilla de cambiar el booleano ... usando la lógica NOT ("!") Del operador:
myVar = !myVar;
Keep es simple. :-)
supongo que es un error tipográfico, el v extra? –
si encuentra una de las respuestas es lo que estaba buscando, puede hacer clic en la marca de verificación "Aceptar" debajo del número. – OscarRyz