【Unity】Unity C#基础(十一)预处理指令

42 篇文章 11 订阅
34 篇文章 19 订阅


预处理指令

预处理指令可以用于干预编译,可实现部分编译(条件编译),使用场景如下:

  1. 部分编译:可将后台功能部分编译,使编译结果不包含调试功能。
  2. 选择编译:根据运行环境选择编译该平台适用的代码。
  3. 调试编译:使部分代码在调试阶段编译。

所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。

常用指令

预处理器指令描述
#define它用于定义一系列成为符号的字符。
#undef它用于取消定义符号。
#if它用于测试符号是否为真。
#else它用于创建复合条件指令,与 #if 一起使用。
#elif它用于创建复合条件指令。
#endif指定一个条件指令的结束。
#line它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。
#error它允许从代码的指定位置生成一个错误。
#warning它允许从代码的指定位置生成一级警告。
#region它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。
#endregion它标识着 #region 块的结束。

定义符号#define、#undef

#define 允许您定义一个符号,这样,通过使用符号作为传递给 #if 指令的表达式,表达式将返回 true。它的语法如下:

#define PI
using System;
namespace PreprocessorDAppl
{
   class Program
   {
      static void Main(string[] args)
      {
         #if (PI)
            Console.WriteLine("PI is defined");
         #else
            Console.WriteLine("PI is not defined");
         #endif
         Console.ReadKey();
      }
   }
}

条件指令#if、#else、#elif、#endif

#define DEBUG
#define VC_V10
using System;
public class TestClass
{
	public static void Main()
	{
		#if (DEBUG && !VC_V10)
			Console.WriteLine("DEBUG is defined");
		#elif (!DEBUG && VC_V10)
		    Console.WriteLine("VC_V10 is defined");
		#elif (DEBUG && VC_V10)
		    Console.WriteLine("DEBUG and VC_V10 are defined");
		#else
		    Console.WriteLine("DEBUG and VC_V10 are not defined");
		#endif
		Console.ReadKey();
	}
}

折叠代码#region、#endregion

在#region和#endregion中间的代码可以折叠起来。


更多内容请查看总目录【Unity】Unity学习笔记目录整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值