当前位置:首页 > 全部子站 > 备课网 > 学院

C# 语言标准--2.5.3 声明指令

来源:长理培训发布时间:2017-08-20 20:12:29

 声明指令用于定义或取消定义条件编译符号。

pp-declaration:(pp 声明:)
whitespaceopt   #   whitespaceopt   define   whitespace   conditional-symbol   pp-new-line(空白可选   #   空白可选   define   空白   条件符号   pp 新行)
whitespaceopt   #   whitespaceopt   undef   whitespace   conditional-symbol   pp-new-line(空白可选   #   空白可选   undef   空白   条件符号   pp 新行)
pp-new-line:(pp 新行:)
whitespaceopt   single-line-commentopt   new-line(空白可选   单行注释可选   新行)

对 #define 指令的处理使给定的条件编译符号成为已定义的(从跟在指令后面的源代码行开始)。类似地,对 #undef 指令的处理使给定的条件编译符号成为未定义的(从跟在指令后面的源代码行开始)。

源文件中的任何 #define 和 #undef 指令都必须出现在源文件中第一个“标记”(第 2.4 节)的前面,否则将发生编译时错误。直观地讲,#define 和 #undef 指令必须位于源文件中所有“实代码”的前面。

示例:

#define Enterprise



#if Professional || Enterprise



   #define Advanced



#endif



namespace Megacorp.Data



{



   #if Advanced



   class PivotTable {...}



   #endif



}

是有效的,这是因为 #define 指令位于源文件中第一个标记(namespace 关键字)的前面。

下面的示例产生编译时错误,因为 #define 指令在实代码后面出现:

#define A



namespace N



{



   #define B



   #if B



   class Class1 {}



   #endif



}

#define 指令可用于重复地定义一个已定义的条件编译符号,而不必对该符号插入任何#undef。下面的示例定义一个条件编译符号 A,然后再次定义它。

#define A



#define A

#undef 指令可用于取消定义一个本来已经是未定义的条件编译符号。下面的示例定义一个条件编译符号 A,然后两次取消定义该符号;第二个 #undef 没有作用但仍是有效的。

#define A



#undef A



#undef A

责编:杨粟梅

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部