C# 预处理器指令会影响编译过程。主要用途:1.在编译A版本时,可以使用预处理指令禁止编译器编译与与A版本无关的代码。2.在编写提供调试信息的代码时,也可以使用预处理器指令。
#if #else #elif #endif
流程控制。不会被执行的分支的代码在编辑器里会灰掉。
# define #undef
# define或#undef必须放在脚本的第一行,也就是放在所有using XXX;前面。和#if #else #elif #endif一起使用。
#define PI
using System;
class Program
{
static void Main(string[] args)
{
#if (PI)
Console.WriteLine("PI is defined"); //PI不存在,则这条语句不编译
#else
Console.WriteLine("PI is not defined"); //PI存在,则这条语句不编译
#endif
Console.ReadKey();
}
}
// 输出PI is defined
Unity提供了一些define预处理器指令(比如:UNITY_5_3_OR_NEWER表示Unity5.3以及更新的版本),可以专门为你的目标平台编译代码、限制Unity特定版本等。
#if UNITY_EDITOR // will be compiled no matter what Platform is set but only if you click "Play"
Debug.Log("Unity Editor