Отменить логическое значение, основанное на другом булевом Какой короткий, элегантный и побитовый способ записать последнюю строку этого кода на С# без записи b дважды: bool getAsIs = .... bool b = .... getAsIs ? b : !b Ответ 1 Таблица истинности может быть выражена как: getAsIs b getAsIs ? b : !b -------------------------------- 0 0 1 0 1 0 1 0 0 1 1 1 Результат может быть выражен как: result = (getAsIs == b); Ответ 2 Попробуйте использовать двоичный XOR (^ Operator (ссылка на С#)): bool getAsIs = true; bool b = false; bool result = !(getAsIs ^ b); Ответ 3 Я думаю, что это var foo = !(getAsIs ^ b) Короткая, элегантная, но определенно голова-скребок!
Ответ 1 Таблица истинности может быть выражена как: getAsIs b getAsIs ? b : !b -------------------------------- 0 0 1 0 1 0 1 0 0 1 1 1 Результат может быть выражен как: result = (getAsIs == b);
Ответ 2 Попробуйте использовать двоичный XOR (^ Operator (ссылка на С#)): bool getAsIs = true; bool b = false; bool result = !(getAsIs ^ b);
Ответ 3 Я думаю, что это var foo = !(getAsIs ^ b) Короткая, элегантная, но определенно голова-скребок!