博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

天轰穿C#教程之#define和#undef【原创】

Posted on 2012-10-09 09:34  天轰穿  阅读(593)  评论(0编辑  收藏  举报

  #define可让您定义符号。当您将符号用作传递给 #if 指令的表达式时,此表达式的计算结果为true。而#undef正好相反,它使您可以取消符号的定义,以便通过将该符号用作 #if 指令中的表达式,使表达式的计算结果为false。

  

  定义方法为关键词 + 空格 + 要定义的符号,例如

  

  #define  DEBUG     //申明符号DEBUG

  

  #undef   DEBUG    //删除符号DEBUG

  

  它告诉编译器存在给定名称的符号,在本例中定义的符号是DEBUG。这有点类似于申明一个变量,但这个变量本身没有真正的值,只是存在而已。这个符号不是实际代码的一部分,而只在编译器编译代码的时候存在。在C#代码中,它没有任何意义。

  

  有三点需要注意的是:

  

  1、如果符号已经存在,那么申明就没有意义了。同样如果符号本来就不存在,那么删除页是不起作用的。

  

  2、另外预处理指令是不需要用分号结束的,它认为一行就只有一个命令。

  

  3、申明必须在类檔顶部。

  

  小天:这个有什么用?没有看出来。

  

  本文为天轰穿原著,转载请注明出处及作者!