Здравствуйте! В сегодняшней статье рассмотрим, как использовать конструкцию when в C# для условного фильтра в различных контекстах.

Использование конструкции when в C#

Здравствуйте! В сегодняшней статье рассмотрим, как использовать конструкцию when в C# для условного фильтра в различных контекстах.

Шаг 1: Использование when в конструкции catch

Конструкция when позволяет добавлять условия к блокам catch, что делает обработку исключений более гибкой.

  1. Откройте ваш проект в Visual Studio.
  2. Добавим следующий код:
try
{
    // Код, который может выбросить исключение
}
catch (Exception ex) when (ex.Message.Contains("specific error"))
{
    // Обработка исключения только если сообщение содержит "specific error"
    Console.WriteLine("Специфическая ошибка обработана.");
}
catch (Exception ex)
{
    // Обработка всех остальных исключений
    Console.WriteLine("Произошла ошибка: " + ex.Message);
}

Шаг 2: Использование when в конструкции case

Конструкция when также может быть использована в операторе switch для добавления условий к отдельным случаям.

  1. Добавим следующий методswitch:
int value = 10;

switch (value)
{
    case int n when n > 0 && n < 10:
        Console.WriteLine("Значение находится в диапазоне от 1 до 9.");
        break;
    case int n when n == 10:
        Console.WriteLine("Значение равно 10.");
        break;
    default:
        Console.WriteLine("Значение не попадает в заданные диапазоны.");
        break;
}

Шаг 3: Использование when в конструкции if

Хотя when не используется напрямую в конструкции if, его можно комбинировать с другими условными операторами для достижения аналогичного эффекта.

  1. Добавим следующий метод:
if (value > 0 && value < 10)
{
    Console.WriteLine("Значение находится в диапазоне от 1 до 9.");
}
else if (value == 10)
{
    Console.WriteLine("Значение равно 10.");
}
else
{
    Console.WriteLine("Значение не попадает в заданные диапазоны.");
}

Шаг 4: Преимущества использования when

Использование конструкции when имеет несколько преимуществ:

  • Читаемость кода: Конструкция when делает код более читаемым и понятным.
  • Гибкость: when позволяет добавлять дополнительные условия к существующим конструкциям.
  • Упрощение логики: Использование when помогает избежать сложных вложенных условий.

Заключение

Конструкция when в C# является мощным инструментом, который позволяет улучшить читаемость и гибкость кода. Её использование в блоках catch, операторах switch и других контекстах делает программы более понятными и легкими в поддержке.