1. 程式人生 > >C# 中的#if、#elif、#else、#endif等條件編譯符號

C# 中的#if、#elif、#else、#endif等條件編譯符號

C#編譯器遇到一個由#if和#endif包圍起來的語句塊時,會檢查#if後面的符號是否已經被定義了,如果已經被定義,那麼才會編譯語句塊之間的程式碼。而定義一個可以被#if測試的符號需要事先用#define指令定義。

#define MACRO1

 using System;

   public class Program

  {

     public static void Main()

     {

       #if (MACRO1)

         console.writeline("MACRO1 is defined.");

       #elif (MACRO2)

         console.writeline("MACRO2 is defined and MACRO1 is not defined");

       #else

         console.writeline("MACRO2  and MACRO1 are both defined");

       #endif

     }

  }

如果用vs,會看到開發環境將不編譯的程式碼顯示為灰色。符號常量必須在using指令之前定義。