Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
82 of 1492 menu
◀ ▶

Директива endif

Директива endif (запись "#endif") закрывает блок, который начали директивой if. Без пары #if … #endif компилятор сообщит об ошибке. Внутри одного блока допустимы #elif и #else, но каждый уровень вложенности закрывают своим #endif. Код после #endif снова участвует в сборке целиком.

Синтаксис

#if условие // код ветки #endif

Пример

Давайте объявим символ и явно закроем блок директивой endif:

#define SHOW using System; class Program { static void Main() { #if SHOW Console.WriteLine("inside"); #endif Console.WriteLine("after"); } }

Результат выполнения кода:

"inside" "after"

Пример

Давайте закроем блок с веткой else:

using System; class Program { static void Main() { #if MISSING Console.WriteLine("yes"); #else Console.WriteLine("no"); #endif } }

Результат выполнения кода:

"no"

Пример

Давайте вложим два блока и закроем каждый своим #endif:

#define OUTER #define INNER using System; class Program { static void Main() { #if OUTER Console.Write("o"); #if INNER Console.WriteLine("i"); #endif #endif } }

Результат выполнения кода:

"oi"

Смотрите также

  • директива if,
    которая открывает блок условной компиляции
  • директива define,
    которая задаёт символ для #if
  • директива undef,
    которая снимает символ перед проверкой
  • директива region,
    которая помечает фрагмент для сворачивания
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить