Worüber Sie sprechen, ist der "ternäre" oder "bedingte" Operator, der eine Inline-Substitution gemäß einer Bedingung ausführt.
Die Syntax ist:
condition ? trueValue : falseValue
ich in der Regel werfen Klammern um meinen Zustand, manchmal um den gesamten Bedingungsoperator. Hängt davon ab, wie sehr ich versuche, es von allem anderen abzugrenzen.
So zum Beispiel an, dass Sie die größere von zwei Zahlen zurückkehren wollen:
public int max(int a, int b)
{
return (a > b) ? a : b;
}
Beachten Sie, dass es in der Mitte etwas anderes ersetzt werden kann.
Okay, jetzt wollen wir Ihre eigentliche Frage über das Umschalten eines booleschen Typs angehen.
myVar = (myVar) ? false : true;
ist, wie Sie es mit dem bedingten Operator tun würden. (Wieder Klammern sind nicht erforderlich, bin ich für sie nur.)
Aber es gibt einen einfacheren Weg, um die boolean zu wechseln ... die logische NOT ("!") Operator:
myVar = !myVar;
Halten es ist einfach. Dies funktioniert :-)
ich nehme an, das ist ein Tippfehler, der extra v? –
Wenn Sie eine der Antworten finden, wonach Sie gesucht haben, können Sie auf das Häkchen "Akzeptieren" unter der Nummer klicken. – OscarRyz