多语言展示
当前在线:616今日阅读:19今日分享:20

C#编程预处理指令使用详解

C#语言里面有许多名为预处理器指令的命令。这些命令从来不会转化为可执行代码中的命令,但是会影响编译过程的各个方面。例如,使用预处理指令可以禁止编译器编译代码中的某一部分。预处理指令的开头都有符号#,本文主要和大家介绍下一些常用的预处理指令的功能。
工具/原料
1

VS2017

2

.Net Framawork

方法/步骤
1

#define 和#undef指令。#define指令用法如下:#define DEBUG 这有点类似于声明一个变量,但这个变量没有真正的值,只是存在而已。这个符号不是实际代码的一部分,而只是在编译器编译代码时存在。在C#代码中没有任何意义。#undef Debug 正好相反,它是删除符号的定义。注意预定义指令一定要在文件最上面,不然会提示“不能在文件的第一个标记之后,定义或取消定义预处理器符号 ”。

2

#if,#elif,#else,#endif指令。这些指令告诉编译器是否要编译代码块。如下图所示,这些指令主要是条件判断,如果预定义的指令存在,则执行相关命令,如果预定义的指令不存在,则不执行。

3

#warning和#error指令。当编译器遇到这两个指令时,会分别产生警告或者是错误。如果编译器遇到Warning指令,会向用户显示#warning指令后面的文本,之后编译会继续执行。如果遇到#error指令,就会向用户显示后面的文本,然后立即退出编辑,不会生成IL代码。

4

#region和#endregion指令。这两个指令用于把一段代码段视为有给定名称的一个块。这两个指令主要用来优化代码布局,通过使用这两个指令,可以使你的代码更加的有条理性。

5

#line指令。#line指令用于改变编译器在警告和错误信息中显示的文件名和行号信息。这条指令用的并不多。如果在代码编写时,在把代码发送给编译器前,要使用某些软件包改变输入的代码,该指令最有用。因为这意味着编译器报告的行号或者文件名与文件中的行号不匹配,#line指令可以用来还原这种匹配。

6

#pragma指令。这个指令可以抑制或还原指定的编译警告。与命令行选项不同,#pragram指令可以在类或方法级别实现,对抑制警告的内容和抑制的时间进行更精细的控制,下面的例子禁止“字段未使用”警告,然后在编译类后还原该警告。

注意事项
1

预处理指令可以使我们的编程过程更加方便,在需要的时候加上预处理指令,可以有效提高代码编写的高效性。

2

预处理指令基本上不会影响代码的执行,但是要用好才可。

推荐信息