C# 预处理指令

不会转化为可执行代码中的命令,但会影响编译过程的各个方面。

1.#if

当编译器遇到#if 语句后,将先检查相关的符号是否存在,如果符号存在,就编译#if 子句中的代码。否则,编译器会忽略所有的代码,直到遇到匹配的#endif 指令为止。

一般是在调试时定义符号DEBUG,把与调试相关的代码放在#if 子句中。在完成了调试后,就把#define 语句注释掉,所有的调试代码会奇迹般地消失,可执行文件也会变小,最终用户不会被这些调试信息弄糊涂(显然,要做更多的测试,确保代码在没有定义DEBUG 的情况下也能工作)。

2.#define

#define必须定义在所有using命名空间前面;

除#if外还可使用[Conditional("Debug")]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 预处理指令是以 # 号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。# 后是指令关键字,在关键字和#...
    zedds阅读 2,817评论 0 1
  • 目录 一.预处理的工作方式... 3 1.1.预处理的功能... 3 1.2预处理的工作方式... 3 二.预处理...
    朱森阅读 5,296评论 0 2
  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 5,770评论 1 6
  • 在实际开发中,有时候在编译之前还需要对源文件进行简单的处理。例如,我们希望自己的程序在Windows和Linux下...
    凡眼观世界阅读 4,451评论 1 0
  • 昂,对,我是来吐槽的。别骂我。 现在我在外地打暑假工,家里人也没打电话给我。当然。我也没给他们打电话,昂。所谓的家...
    橘生淮南之枳水阅读 1,639评论 0 0

友情链接更多精彩内容