您的位置:首页 > 编程语言 > C#

C#学习笔记:预处理指令

2017-08-11 16:22 274 查看
C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令。

#region

代码折叠功能,配合#endregion使用,如下:



点击后如下:



条件预处理

条件预处理可以根据给出的条件决定最终进行编译的代码,换句话说可以排除掉指定的代码不进行编译。

#define

定义一个宏,注意只要定义名称就行了,不需要值。

一般会把宏定义写在第一行。

#define IOS


这样就表示IOS这个宏被定义出来了。

#undef

取消一个宏定义,如下:

#undef IOS


这样可以取消IOS这个宏定义。

#if、#else、#elif、#endif

具体使用的指令,下面给出示例:

1 #define ANDROID
2 #define IOS
3 #undef IOS
4
5 using System;
6
7 namespace Study
8 {
9     class Program
10     {
11         static void Main(string[] args)
12         {
13
14 #if ANDROID
15             Console.WriteLine("Android 平台的代码写这里。");
16 #elif IOS
17             Console.WriteLine("IOS 平台的代码写这里。");
18 #else
19             Console.WriteLine("其他平台的代码写这里。");
20 #endif
21
22             Console.Read();
23         }
24     }
25 }


而在Unity中,已经对对应的平台和版本定义了相应的宏,可以查看下面的链接:

http://docs.unity3d.com/Manual/PlatformDependentCompilation.html

#warning、#error

这两个指令可以使编辑器进行警告和报错,一般和条件指令搭配,用于调试。

1 #warning 这里不应该这么写!
2 #error 这里这么写是错误的!


#line

配合#warning和#error使用,可以设置报错或警告的具体行数。

1 //200 行的问题
2 #line 200 "可选的文件名,表示具体有问题的文件,不用加后缀名。"
3 //恢复行数为当前行数
4 #line default


#pragma

这个指令可以通过我们自己扩展来完成特定的功能,这里就不多讲,给大家一个文章链接:

http://blog.csdn.net/jx_kingwei/article/details/367312
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: