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

Директива define

Директива define задаёт имя символа, которое компилятор учитывает при обработке if и связанных директив. Символ не хранит число или строку - он либо объявлен, либо нет. define и undef размещают в самом начале файла, до using и остального кода. Это не const и не макрос с телом, как в C++.

Синтаксис

#define ИМЯ_СИМВОЛА

Пример

Давайте объявим символ LOGGING и включим ветку, которая печатает сообщение:

#define LOGGING using System; class Program { static void Main() { #if LOGGING Console.WriteLine("log on"); #endif } }

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

"log on"

Пример

Давайте объявим символ DEMO и выберем ветку через else, если символ не задан:

#define DEMO using System; class Program { static void Main() { #if DEMO Console.WriteLine("demo"); #else Console.WriteLine("plain"); #endif } }

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

"demo"

Пример

Давайте проверим несколько символов через логическое И:

#define ALPHA #define BETA using System; class Program { static void Main() { #if ALPHA && BETA Console.WriteLine("both"); #endif } }

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

"both"

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

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