预处理指令

含义

指示编译器如何处理源代码。
例如:有时候我们想让编译器忽略一部分代码,而其他情况下,我们可能希望代码被编译。
也叫宏

基本使用方法

  1. 预处理指令必须和C#代码在不同的行。
  2. 与c#语句不同,预处理指令不需要以分号结尾。
  3. 包含预处理指令的每一行必须以#字符开始
  4. 在#前可以有空格
  5. 在#字符和指令之间可以有空行
  6. 允许行尾注释
  7. 在预处理指令所在的行不允许分隔符注释

C# 预处理器指令

#if#warning
#else#error
#endif#line
#endif#region
#define#endregion
#undef#pragma
#pragma warning#pragma checksum

接下来
讲一下#define:
定义编译符
它是除了true和false以外的任何标识符,包括C#关键字。
它没有值。与c c++不同,它不表示字符串
#undef指令取消定义
配合#if #else 来使用
还可以配合Conditional 有条件属性来使用

#error&#waring
#error在#if结构中,只有符合#if指令的条件时才会生成消息
#waring指令用于提醒程序员回头来修改这段代码

#line
改变由编译器警告和错误消息报告出现的行数
改变被编译源文件的文件名
对交互式调试器隐藏一些行
#line integer 设置下一行值为整数的行的行号
#line “fileName” 设置文件名
#line default 重新保存实际的行号和文件名
#line hidden 在断点调试器中隐藏代码
#line 停止在调试器中隐藏代码

Conditional 属性
条件方法必须是类声明或结构声明中的方法。如果在接口声明中的方法上指定 Conditional 属性,将出现编译时错误。
条件方法必须具有 void 返回类型。
不能用 override 修饰符标记条件方法。但是,可以用 virtual 修饰符标记条件方法。此类方法的重写方法隐含为有条件的方法,而且不能用 Conditional 属性显式标记。
条件方法不能是接口方法的实现。否则将发生编译时错误。
如果条件方法用在“委托创建表达式”中,也会发生编译时错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值