/
Программирование
/
Курс C#
/

Конструкция if-else

C#: Конструкция if-else

Условная конструкция if имеет несколько разновидностей, одна из которых включает в себя блок, выполняющийся в случае если условие ложно. Пример:

if (x > 5)
{
    // Если условие true
}
else
{
    // Если условие false
}

Такая структура может понадобится при начальной инициализации значения. В примере ниже проверяется, если email отсутствует, то устанавливаем значение по умолчанию, если его передали, то выполняем нормализацию.

// Где-то здесь приходит email

  if (email.Equals(""))
  {
      // Если email пустой, то ставим дефолт
      email = "support@hexlet.io";
  }
  else
  {
      // иначе чистим
      email = email.Trim().ToLower();
  }

  // Здесь используем эту почту

Если ветка if содержит return, то else становится не нужен и его можно просто опустить:

if (/* условие */)
{
    return /* какое-то значение */;
}

// продолжаем что-то делать
// else не нужен

Задание

Реализуйте метод NormalizeUrl(), которая выполняет нормализацию URL. Она принимает адрес сайта и возвращает его с https:// в начале.

Функция принимает адреса в виде АДРЕС или http://АДРЕС, но всегда возвращает адрес в виде https://АДРЕС. На вход функции также может поступить адрес в уже нормализованном виде https://АДРЕС, в этом случае ничего менять не нужно.

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

Console.WriteLine(App.NormalizeUrl("https://ya.ru"));   // => "https://ya.ru"
Console.WriteLine(App.NormalizeUrl("google.com"));      // => "https://google.com"
Console.WriteLine(App.NormalizeUrl("http://ai.fi"));    // => "https://ai.fi"

Один из способов решить задачу:

  1. Проверить, начинается ли строка с https://
  2. Если да, вернуть строку как есть
  3. Если строка начинается с http://, отбросить этот префикс
  4. Добавить https:// к результату

Для проверки начала строки используйте метод StartsWith(), а чтобы отбросить префикс — Substring().

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются