C# 预处理指令
#define
#define Demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { #if Demo Console.WriteLine("Run Demo"); #else Console.WriteLine("No run Demo"); #endif } } }
Output:
Run Demo
#undef
#define Demo #undef Demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { #if Demo Console.WriteLine("Run Demo"); #else Console.WriteLine("No run Demo"); #endif } } }
Output:
No run Demo
条件编译
使用#define指令定义的标识符
True 如果符号已经使用#define定义
False 其他
表达式 使用符号和操作符!、==、!=、&&、||构建的
True 如果为true
False 其他
行号指令
#define Demo #undef Demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { #line 233 "huaQ.cs" Console.WriteLine("No run Demo") } } }
区域指令
#define Demo #undef Demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { #region 这个要折叠 Console.WriteLine("No run Demo"); #endregion } } }