#define可让您定义符号。当您将符号用作传递给 #if 指令的表达式时,此表达式的计算结果为true。而#undef正好相反,它使您可以取消符号的定义,以便通过将该符号用作 #if 指令中的表达式,使表达式的计算结果为false。
定义方法为关键词 + 空格 + 要定义的符号,例如
#define DEBUG //申明符号DEBUG
#undef DEBUG //删除符号DEBUG
它告诉编译器存在给定名称的符号,在本例中定义的符号是DEBUG。这有点类似于申明一个变量,但这个变量本身没有真正的值,只是存在而已。这个符号不是实际代码的一部分,而只在编译器编译代码的时候存在。在C#代码中,它没有任何意义。
有三点需要注意的是:
1、如果符号已经存在,那么申明就没有意义了。同样如果符号本来就不存在,那么删除页是不起作用的。
2、另外预处理指令是不需要用分号结束的,它认为一行就只有一个命令。
3、申明必须在类檔顶部。
小天:这个有什么用?没有看出来。
本文为天轰穿原著,转载请注明出处及作者!