English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# Basic Tutorial

C# Advanced Tutorial

C# Object-Oriented (OOP)

Условное выражение if в C#

C# provides many decision statements that can help control the flow of a C# program based on certain logical conditions. Here, you will learn about if, else if, else, and nested if else statements to control the flow based on conditions.

C# includes the following types of if statements:

  1. if statement

  2. else-if statement

  3. Условие else

C# if statement

The if statement contains a boolean condition followed by a single-line or multi-line code block to be executed. At runtime, if the boolean condition evaluates to true, the code block will be executed, otherwise it will not be executed.

Грамматика:
if (condition)
{
    //if code block to be executed when the condition is true
}
int i = 10, j = 20;
if (i < j)
{
    else if (i > j)
}        
if(i > j)
{
    else{
}
Вывод:
i меньше j

In the above example, the boolean condition i < j in the first if statement evaluates to true, so the C# compiler will execute the following code block. The condition i > j of the second if statement evaluates to false, so the compiler will not execute its code block.

The condition expression must return a boolean value, otherwise the C# compiler will give a compile-time error.

int i = 10, j = 20;
if (i + 1)
{
    Console.WriteLine("i is less than j");
}        
if (i + j)
{
    Console.WriteLine("i is greater than j");
}

You can call a function that returns a boolean value in an if statement.

static void Main(string[] args)
{
    int i = 10, j = 20;
    if (isGreater(i, j))
    {
        Console.WriteLine("i is less than j");
    }        
    if (isGreater(j, i))
    {
        Console.WriteLine("j is greater than i");
    }
}
static bool isGreater(int i, int j)
{
    return i > j;                    
}

Условие else if

Множественные условия else if могут использоваться после условия if. Они выполняются только когда результат условия if равен false. Таким образом, может выполняться одно из условий if или else if, но не оба одновременно.

Грамматика:
if(condition1)
{
    // блок кода, который выполняется, если condition1 оценен как true
}
else if(condition2)
{
    // когда выполняется блок кода 
    // condition1 вычислен как false
    // condition2 вычислен как true
}
else if(condition3)
{
    // когда выполняется блок кода 
    // condition1 вычислен как false
    // condition2 вычислен как false
    // condition3 вычислен как true
}

Пример демонстрирует использование условия else if.

int i = 10, j = 20;
if(i == j)
{
    Console.WriteLine("i равно j");
}
else if(i > j)
{
    else{
}
else if(i < j)
{
    else if (i > j)
}
Вывод:
i меньше j

Условие else

Условие else может появляться только после if или else if и может использоваться только один раз в условиях if-else. Условие else не содержит никаких условий и выполняется, когда результаты всех предыдущих условий if и else if равны false.

int i = 20, j = 20;
if(i > j)
{
    Console.WriteLine("i больше j");
}
else if(i < j)
{
    Console.WriteLine("i меньше j");
}
else
{
    Console.WriteLine("i равно j");
}
Вывод:
i равно j

Вложенные if условия

Язык C поддерживает использование вложенного if-else условия в другом if-else условии. Это называется вложенным if-else условием. Вложенные if условия делают код более читаемым.

Грамматика:
if(condition1)
{
   if(condition2)
    {
        // когда выполняется блок кода 
        // condition1 и condition2 вычислены как true
    }
    else if(condition3)
    {
        if(condition4)
        {
            // когда выполняется блок кода 
            // только condition1, condition3 и condition4 имеют результат вычисления true
        }
        else if(condition5)
        {
            // когда выполняется блок кода 
            // только condition1, condition3 и condition5 имеют результат вычисления true
        }
        else
        {
            // когда выполняется блок кода 
            // condition1 и condition3 оценены как true 
            // результат вычисления condition4 и condition5 равен false
        }
    }
}

Пример демонстрирует использование вложенного if-else условия.

Пример: Нахождение вложенного if else
int i = 10, j = 20;
if (i < j)
{
    {        
        else if (i > j)
    }
    {       
       else{
    }
}
    Console.WriteLine("i равно j");
}
Вывод:
i меньше j

Используйте триплетный оператор ? : для замены простого условия if else.