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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM