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指令之前定义。

猜你喜欢

转载自www.cnblogs.com/zwj-199306231519/p/10193966.html