Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Условная логика в C#: if, if-else, if-else-if и вложенные if

Условная логика в C#: if, if-else, if-else-if и вложенные if

В этой статье мы научимся использовать if, if...else, if...else if для управления потоком выполнения программы.

Проверка условий — основа любого языка. В C# условные операторы позволяют вычислять булевы выражения и решать, какие блоки кода выполнять. Условия часто зависят от пользовательского ввода, состояния системы, времени и др.


Оператор if (If-Then)

Простейшая форма: выполняет блок, когда булево выражение истинно.

if (booleanExpression) {
    // код, выполняемый при true
}

Пример:

if (number < 5) {
    number += 5;
}

number += 5; выполняется только если number < 5.

Как работает if

Условная логика в C#: if, if-else, if-else-if и вложенные if

Пример 1: Базовый if

using System;
namespace Conditional {
    class IfStatement {
        public static void Main(string[] args) {
            int number = 2;
            if (number < 5) {
                Console.WriteLine($"{number} is less than 5");
            }
            Console.WriteLine("This statement is always executed.");
        }
    }
}

Вывод:

2 is less than 5
This statement is always executed.

Если number = 10:

This statement is always executed.

Условие ложно, блок пропускается.


Оператор if...else (If-Then-Else)

Для обработки обоих исходов добавляется else:

if (booleanExpression) {
    // при true
} else {
    // при false
}

Пример:

if (number < 5) {
    number += 5;
} else {
    number -= 5;
}

Как работает if...else

Условная логика в C#: if, if-else, if-else-if и вложенные if

Пример 2: Использование if...else

using System;
namespace Conditional {
    class IfElseStatement {
        public static void Main(string[] args) {
            int number = 12;
            if (number < 5) {
                Console.WriteLine($"{number} is less than 5");
            } else {
                Console.WriteLine($"{number} is greater than or equal to 5");
            }
            Console.WriteLine("This statement is always executed.");
        }
    }
}

Вывод для 12:

12 is greater than or equal to 5
This statement is always executed.

Для 2:

2 is less than 5
This statement is always executed.

Для простых случаев можно использовать тернарный оператор.


Оператор if...else if (If-Then-Else If)

Для множественных условий цепочкой else if:

if (condition1) {
    // код для condition1
} else if (condition2) {
    // код для condition2
} else if (condition3) {
    // код для condition3
} else {
    // если все ложны
}

Цепочка оценивается сверху вниз; выполнение останавливается на первом true. Если ни одно не совпало — выполняется else.

Для дискретных значений часто удобнее switch.

Пример 3: if...else if

using System;
namespace Conditional {
    class IfElseIfStatement {
        public static void Main(string[] args) {
            int number = 12;
            if (number < 5) {
                Console.WriteLine($"{number} is less than 5");
            } else if (number > 5) {
                Console.WriteLine($"{number} is greater than 5");
            } else {
                Console.WriteLine($"{number} is equal to 5");
            }
        }
    }
}

Вывод для 12:

12 is greater than 5

При изменении number на 4 или 5 вывод изменится соответственно.


Вложенные if...else

Один условный блок внутри другого — для многоуровневой логики.

if (outerCondition) {
    if (innerCondition1) {
        // оба истинны
    } else {
        // внешний true, внутренний false
    }
} else {
    if (innerCondition2) {
        // внешний false, внутренний2 true
    } else {
        // оба false
    }
}

Удобно для поэтапных проверок, например, валидация ввода или поиск максимума.

Пример 4: Поиск наибольшего из трёх чисел

using System;
namespace Conditional {
    class Nested {
        public static void Main(string[] args) {
            int first = 7, second = -23, third = 13;
            if (first > second) {
                if (first > third) {
                    Console.WriteLine($"{first} is the largest");
                } else {
                    Console.WriteLine($"{third} is the largest");
                }
            } else {
                if (second > third) {
                    Console.WriteLine($"{second} is the largest");
                } else {
                    Console.WriteLine($"{third} is the largest");
                }
            }
        }
    }
}

Результат:

13 is the largest

Измените значения для проверки других вариантов.

Язык C

  1. Бипер (пейджер): от ранних инноваций к двусторонней связи завтрашнего дня
  2. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  3. Оператор break в C#: как и когда использовать
  4. Оператор continue в C#: как эффективно пропускать итерации циклов
  5. Вложенные классы в C#: определение, использование и наследование
  6. Операторы, отступы и комментарии в Python: понятное руководство
  7. Вложенные и внутренние классы в Java: типы, примеры и лучшие практики
  8. Базовый синтаксис C: токены, идентификаторы, ключевые слова и пробелы
  9. Константы и литералы в C: целочисленные, вещественные, символьные, строковые и определение констант
  10. Константы и литералы в C#: типы, правила и лучшие практики