Бесплатный курс по csharp. Зарегистрируйтесь для отслеживания прогресса →

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 аргумента:

  1. Цвет доспехов (строка). Например, строку "red", если доспехи красные.
  2. Изображение на щите. Например, строку "lion", если щит с изображением льва. Если щита нет, то будет передан null.

Вам доступна уже готовая функция IsLannisterSoldier(). Воспользуйтесь ей, чтобы не писать все логические условия заново.

Условия распознавания Ланнистера описаны в прошлом уроке.

Примеры вызова:

App.IsNotLannisterSoldier('red', 'lion'); // false
App.IsNotLannisterSoldier('blue', null);  // true

Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе