C#: Отрицание
Наряду с конъюнкцией (И) и дизъюнкцией (ИЛИ), часто используется операция «отрицание». Отрицание меняет логическое значение на противоположное. В программировании ему соответствует оператор !.
Если есть метод, проверяющий чётность числа, то с помощью отрицания можно выполнить проверку нечётности:
public static bool IsEven(int number)
{
return number % 2 == 0;
}
App.IsEven(10); // true
!App.IsEven(10); // false
То есть мы просто добавили ! слева от вызова метода и получили обратное действие. Отрицание можно применять не только к вызову метода, но и к целому выражению:
// x не равен 5 и не равен 3
!(x == 5 || x == 3)
// Это же выражение можно записать по другому
x != 5 && x != 3
Отрицание — мощный инструмент, который позволяет лаконично выражать задуманные правила в коде без необходимости писать новые методы.
Задание
Реализуйте метод IsNotLannisterSoldier() в классе App, который проверяет, что солдат — не Ланнистер. Функция принимает на вход 2 аргумента:
- Цвет доспехов (строка). Например, строку
"red", если доспехи красные. - Изображение на щите. Например, строку
"lion", если щит с изображением льва. Если щита нет, то будет переданnull.
Вам доступна уже готовая функция IsLannisterSoldier(). Воспользуйтесь ей, чтобы не писать все логические условия заново.
Условия распознавания Ланнистера описаны в прошлом уроке.
Примеры вызова:
App.IsNotLannisterSoldier('red', 'lion'); // false
App.IsNotLannisterSoldier('blue', null); // true
