Menu
Coddy logo textTech

Вычисление с коротким замыканием

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

Вычисление по сокращённой схеме — это метод оптимизации в C#, при котором второй операнд операторов логического И (&&) и ИЛИ (||) вычисляется только при необходимости.

Для логического И (&&), если первый операнд равен false, результат всегда будет равен false независимо от второго операнда:

bool result = false && SomeMethod();

В этом примере SomeMethod() не будет вызван, поскольку первый операнд уже имеет значение false.

Для логического ИЛИ (||), если первый операнд равен true, результат всегда будет равен true независимо от второго операнда:

bool result = true || SomeMethod();

Здесь SomeMethod() не будет вызван, потому что первый операнд уже имеет значение true.

Это поведение можно использовать для предотвращения ошибок, например проверять, равен ли объект null, прежде чем обращаться к его свойствам:

// Безопасно — если student равен null, правая сторона не будет вычисляться
if (student != null && student.Grade > 70)
{
    Console.WriteLine("Student passed!");
}
challenge icon

Задание

Легко

Создайте метод с именем ProcessUserInput, который принимает два аргумента:

  • Тип string (input)
  • Целое число (minLength)

Метод должен:

  1. Проверить, что значение input не равно null
  2. Проверить, что длина значения input не меньше minLength
  3. Только если оба условия истинны, вывести "Valid input: ", а затем значение input
  4. Если хотя бы одно условие не выполнено, вывести "Invalid input"

Используйте вычисление с коротким замыканием, чтобы предотвратить возможное исключение NullReferenceException.

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

using System;

class ProcessUserInput
{
    public static void processUserInput(string input, int minLength)
    {
        // Напишите свой код здесь
    }
}
quiz iconПроверьте себя

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

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

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