Menu
Coddy logo textTech

Защитные условия

Часть раздела Логика и управление потоком путешествия по C# на Coddy. Урок 19 из 66.

Guard clauses — это условные операторы в начале method, которые выполняют check пограничных случаев или недопустимых inputs и выполняют return early, если эти условия соблюдены.

Создадим метод без защитного условия:

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // Обработать заказ
        // Много строк кода здесь...
    }
}

Теперь перепишем это с помощью защитного условия:

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // Охранное условие — ранний выход, если order равен null
    }
    
    // Обработать order
    // Много строк кода здесь...
}

Guard clauses улучшают читаемость, уменьшая вложенность и обрабатывая исключительные случаи в начале method.

challenge icon

Задание

Легко

Создай метод с именем DivideNumbers, который принимает два целых числа: numerator и denominator.

  1. Добавь guard clause, чтобы check, равен ли denominator нулю.
  2. Если denominator равен нулю, выведи: "Cannot divide by zero" и return 0.
  3. В противном случае раздели numerator на denominator и верни result.

Попробуйте сами

using System;

public class Program
{
    public static int DivideNumbers(int numerator, int denominator)
    {
        // Напишите ваш код здесь
    }
    
    public static void Main()
    {
        // Считайте входные данные из консоли
        int numerator = Convert.ToInt32(Console.ReadLine());
        int denominator = Convert.ToInt32(Console.ReadLine());
        
        // Вызовите метод DivideNumbers
        int result = DivideNumbers(numerator, denominator);
        
        // Выведите результат
        Console.WriteLine(result);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор C#