조건부 컴파일

#define TESTMDOE  // #define 지시문은 파일의 처음 부분에 있어야 한다. 기호 이름은 대문자로만 구성하는 것이 관례이다.

using System;

class Program
{
  static void Main()
  {
    #if TESTMODE
      Console.WriteLine("시험 모드");
    #endif
  }
}
#if TESTMODE && !PLAYMODE // TESTMODE가 정의되어 있고 PLAYMODE가 정의되어 있지 않으면
  ...
csc Program.cs /define:TESTMODE,PLAYMODE

조건부 컴파일 대 정적 변수 플래그

static internal bool TestMode = true;

static void Main()
{
  if (TestMode)  Console.WriteLine("시험 모드");
}
using TestType =
  #if V2
    MyCompany.Widgets.GadgetV2;
  #else
    MyCompany.Widgets.Gadget;
  #endif