C#图解教程(第四版)小笔记——预处理指令

预处理指令

预处理指令(preprocessor directive)指示编译器如何处理源代码。
在C#中没有实际的预处理程序,预处理指令由编译器来处理。

基本规则:

  • 预处理指令必须和C#代码在不同的行。
  • 不需要以分号结尾
  • 每一行必须以#符号开始,#符号前后都可以有空格
  • 允许行尾注释
  • 预处理指令所在行不允许分隔符注释(/*分隔符注释 */)

在这里插入图片描述

#define与#undef

#define用于声明一个编译符号,#undef用于取消定义一个编译符号。
只能用在源文件的开头(using前),不能在代码中间定义。

编译符号是只有两种可能状态的标识符,被定义未被定义
它可以是除了“true”和“false”以外的任何标识符,包括C#关键字和在代码中声明的标识符。
它没有值。
范围仅限于单个源文件,允许重复定义已存在的标识符。

条件编译 #if #else #elif #endif

条件编译:根据编译符号是否被定义,标注一段代码被编译还是被跳过。
在这里插入图片描述
true和false也可以在表达式中使用。
#if#endif需要配对使用。

诊断指令

诊断指令产生用户自定义的编译时警告以及错误消息。
语法:

#warning Message		//Message是字符串,不需要引号

#error Message

在这里插入图片描述

行号指令 #line

■ 可以改变由编译器警告和错误消息报告出现的行数;
■ 可以改变编译源文件的文件名;
■ 可以对交互式调试器隐藏一些行;
等。
在这里插入图片描述

区域指令 #region #endregion

#region和#endregion匹配使用,区域可以被嵌套。

#region 区域名
// 代码段
	#region 子区域名
	//代码段
	#endregion
#endregion

#progma warning指令

#progma warning指令设置关闭及重新开启警告消息。

  • 关闭
#progma warning disable, 警告数列表
  • 开启
#progma warning restore, 警告数列表

若不指定警告数列表,则指令应用于所有警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值