Когда использовать директивы препроцессора в .net?

Я думаю, что это простой вопрос, поэтому я полагаю, что упускаю что-то очевидное. На самом деле я никогда не использую директивы препроцессора, но я смотрел на чей-то код, который работал, и думал, что это то, с чем я должен быть знаком.

Итак, я посмотрел на пример msdn здесь , он имеет код :

#define DEBUG
// ...
#if DEBUG
    Console.WriteLine("Debug version");
#endif

У меня два вопроса:

  • в примере выше, почему они определяют DEBUG? У меня сложилось впечатление, что это было установлено, если вы компилируете в режиме отладки v. Release?
  • глядя на другой пример, который имеет #define MYTEST , а затем записывает в консоль в зависимости от того, «определено» ли оно , но чем это отличается от простого использования переменной? Что мне здесь не хватает?

24
задан Brian Tompsett - 汤莱恩 9 July 2016 в 12:12
поделиться