В зависимости от условия выполняется только одна из двух серий команд, входящих в команду ветвления. Если условие истинно (true), то надо выполнить тело оператора if (команды в блоке else останутся не выполненным), а если условие ложно (false), нужно выполнить тело блока else (команды в операторе if останутся не выполненным).
Сама конструкция имеет следующий вид:
if (условие)
{
// Ветвь 1
}
else
{
// Ветвь 2
}
В блок-схемах описывающих работу алгоритмов условную конструкцию с двумя ветвями обозначают так:

Вместо true и false могут быть использованы другие слова (да/нет) или символы (+/-) обозначающие результат вычисления логического выражения.
Пример использования условной конструкции if–else:
int a = 1, b = 2;
// ЕСЛИ: условие удовлетворяет истинности
// ТО: выполняем тело условной конструкции
if (a < b)
{
Console.WriteLine("a меньше b"); // Ветвь 1
}
else // ИНАЧЕ: выполняем тело блока else.
{
Console.WriteLine("a >= b"); // Ветвь 2
}
Блок else является необязательным, в случаи его отсутствия будет использоваться условная конструкция if с одной ветвью.
Результатом работы данного участка кода будет вывод на экран строки "a меньше b".
Нужно подметить, что если условие данной конструкции не было истинным (например, a = 3, b = 2), то компилятор вывел бы строку "a >= b".
Опять же в данном случае условную конструкцию if–else можно было написать без использования операторных скобок ({ }), но так делать не рекомендуется.
Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №4. УСЛОВНЫЕ КОНСТРУКЦИИ"
предыдущая статья