Вычисление с коротким замыканием
Часть раздела Логика и управление потоком путешествия по 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!");
}Задание
ЛегкоСоздай метод с именем ProcessUserInput, который принимает два аргумента:
- Строку (
input) - Целое число (
minLength)
Метод должен:
- Проверить, что значение input не равно null
- Проверить, что длина input не меньше
minLength - Только если оба условия истинны, вывести "Valid input: ", а затем значение input
- Если хотя бы одно условие не выполнено, вывести "Invalid input"
Используй вычисление с коротким замыканием, чтобы предотвратить возможное исключение NullReferenceException.
Попробуйте сами
using System;
class ProcessUserInput
{
public static void processUserInput(string input, int minLength)
{
// Напишите здесь свой код
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовОбъявление и инициализация 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиЗубчатые массивыОсновные операции с матрицамиПовторение — многомерные массивы4Методы управления потоком выполнения
Досрочный выходЗащитные условияОператоры перехода (goto)Break и ContinueУпрощение вложенных условных конструкций7Логические операторы: продвинутый уровень
Вычисление с коротким замыканиемУсловные логические операторыПриоритет операторовПовторение — продвинутые операторы2Продвинутое принятие решений
Множественные условияСложная логика BooleanСравнение If и SwitchВложенные конструкции SwitchПовторение — продвинутые решения5Обработка исключений
Основы Try-CatchТипы исключенийНесколько блоков CatchРабота с файламиБлок FinallyИспользование Using вместо Try-FinallyПользовательские исключенияПовторение — обработка ошибок3Улучшение циклов
Производительность цикловИтерация по сложным структурамКаждый тип циклаРефакторинг цикловПовторение — оптимизированные циклы6Обработка null
Основы ссылок на nullТипы значений, допускающие nullШаблоны проверки на nullЗащитное программированиеПовторение — безопасность при работе с nullПотренируйтесь самостоятельно: Онлайн-компилятор C#