То, о чем вы говорите, это «троичный» или «условный» оператор, который выполняет внутреннюю замену в соответствии с условием.
Синтаксис:
condition ? trueValue : falseValue
Обычно я ставлю скобки вокруг своего состояния, иногда вокруг всего условного оператора. Зависит от того, насколько я пытаюсь отделить это от всего остального.
Например, предположим, что вы хотите вернуть большее из двух чисел:
public int max(int a, int b)
{
return (a > b) ? a : b;
}
Обратите внимание, что его можно подставить в середину чего-то другого.
<ч />
Хорошо, теперь давайте ответим на ваш актуальный вопрос о переключении логического типа.
myVar = (myVar) ? false : true;
- это то, как вы делаете это с условным оператором. (Опять же, скобки не требуются, я просто одобряю их.)
Но есть более простой способ переключить логическое значение ... с помощью логического оператора NOT ("!"):
myVar = !myVar;
Будьте проще. : -)