Вычисление с коротким замыканием
Часть раздела Логика и управление потоком путешествия по 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, который принимает два аргумента:
- Тип string (
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#