[C#复习向整合]预处理器指令

一.编译器

将源语言翻译为目标语言的程序.

源语言程序: 某种程序设计语言写成的程序,如C#,C++等

目标语言程序: 二进制表示的伪机器代码写的程序

二.预处理器指令

指导编译器在实际编译开始之前对信息进行预处理

以#开头,因为预处理器指令不是语句,所以不用分号结尾

目前常用的折叠代码块就是预处理器指令.

三.常见预处理器指令

1. #define, #undef

写在脚本文件最前面(开头)

//定义一个YYDS符号
#define YYDS
//取消定义
#undef YYDS

2.#if, #elif, #else, #endif

类似if语句规则,用于告诉编译器进行编译代码的流程控制

可以不写在脚本文件开头

逻辑|| 和 && 还是可以用

//例如,写在代码之中
#if YYDS
Console.WriteLine("YYDS");
#endif

//预处理时,如果发现存在YYDS这个符号,那其中包裹的代码,就会被编译器翻译
#define YYDS1

#if YYDS1
Console.WriteLine("YYDS1");
#endif

//运行时会打印"YYDS1"

//如果在#define YYDS1后面写 #undef YYDS1,则不会打印"YYDS1"

用预处理器来控制哪些代码需要执行

#define YYDS1
#define YYDS2

#if YYDS1
Console.WriteLine("YYDS1");
#elif YYDS2
    //...
#else
    //...
#endif

//运行时会打印"YYDS1"

//如果在#define YYDS1后面写 #undef YYDS1,则不会打印"YYDS1"

3.#warning, #error

告诉编译器,是报警告还是报错

警报和报错不是在执行时发生,而是在编译前,编译器就会提示的

#define NBCS
#define YYDS

#if YYDS
    //...
#elif NBCS
    #warning 请选择yyds
#endif

资料来源<唐老狮C#教程>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值