Quand utiliser les directives de préprocesseur dans .net?

Je pense que c'est une question simple, je suppose que je suis absent quelque chose d'évident. Je n'ai jamais vraiment utiliser les directives de préprocesseur, mais je cherchais un code qui fait et pensé que c'était quelque chose que je devrait être familier avec.

J'ai donc regardé la msdn exemple ici il a le code:

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

Mes deux questions sont:

  • dans l'exemple ci-dessus, pourquoi font-ils définir DEBUG? J'étais sous l'impression qui a été défini si vous compiler en debug v. mode release?
  • en regardant l'autre exemple qui a #define MYTEST puis écrit sur la console dépend si c'définie", mais comment est-ce différent de simplement en utilisant une variable? Ce qui me manque ici?
InformationsquelleAutor llcf | 2010-11-19