当前位置: 首页 > news >正文

成都网站建设 今网科技安徽360优化

成都网站建设 今网科技,安徽360优化,软件定制和开发,装饰公司手机网站建设文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令(#define、#undef )24.4 条件编译(#if、#else、#elif、#endif)24.5 条件编译结构24.6 诊断指令(#warning、#error)24.7 行号指令(#li…

文章目录

    • 24.1 什么是预处理指令
    • 24.2 基本规则
    • 24.3 符号指令(#define、#undef )
    • 24.4 条件编译(#if、#else、#elif、#endif)
    • 24.5 条件编译结构
    • 24.6 诊断指令(#warning、#error)
    • 24.7 行号指令(#line)
    • 24.8 区域指令(#region、#endregion)
    • 24.9 警告开关指令(#pragma warning)

24.1 什么是预处理指令

​ C# 中没有实际的预处理程序,“预处理”指令由编译器处理,但这个术语被保留了下来。

24.2 基本规则

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

​ 表 24.1 列出了预处理指令。

表24.1 预处理指令
image-20240113141604387

24.3 符号指令(#define、#undef )

​ 编译符号是只有两种可能状态的标识符,要么被定义,要么未被定义。其具有如下特性:

  1. 可以是任何标识符(除 true 和 false 外),包括关键字,以及在 C# 代码中声明的标识符。
  2. 它没有值,不表示字符串。
  3. #define 声明一个编译符号。
  4. #undef 取消定义一个编译符号。
image-20240113142105747

​ #define 和 #undef 只能用在源文件的第一行,即任何 C# 代码之前。

image-20240113142140680

​ 重复定义已存在的编译符号是被允许的。

image-20240113142208788

​ 定义一个标识符相当于将其值设置为 true,取消定义一个标识符相当于设置其值为 false。

24.4 条件编译(#if、#else、#elif、#endif)

​ 条件编译允许根据某个编译符号是否被定义,来标注一段代码是否被编译或跳过。

  • #if
  • #else
  • #elif
  • #endif
表24.2 在 #if 和 #elif 指令中使用的条件
image-20240113142403792 image-20240113142521466

24.5 条件编译结构

​ #if 和 #endif 需要配对使用,有 #if 指令,则必须有配对的 #endif 指令。

#if 和 #if … #else 结构

image-20240113142712207
图24.1 #if(左)和 #else(右)结构

#if … #elif 和 #if … #elif … #else

image-20240113143026314
图24.2 #if ... #elif(左)和 #if ... #elif ... #else(右)结构

24.6 诊断指令(#warning、#error)

​ 诊断指令产生用户自定义的编译时警告及错误消息,其语法如下。需要注意,Message 是字符串,但不需要被引号包围。

image-20240113143205468

​ 当编译器遇到诊断指令时,会输出相关消息。诊断指令的消息会和编译器产生的警告和错误消息列在一起。

image-20240113143412844
  • #error 指令在 #if 结构中,只有满足 #if 条件时才会生成错误消息:“构建失败”。
  • #warning 用于提醒程序会回头来清理一段代码。

24.7 行号指令(#line)

​ 行号指令可以做如下事情:

  1. 改变编译器警告和错误消息报告的出现行数;
  2. 改变被编译源文件的文件名。
  3. 对交互式调试器隐藏一些行。
image-20240113143906518

​ 例如:

image-20240113144002272

24.8 区域指令(#region、#endregion)

​ 区域指令允许标注和有选择性地命名一段代码。区域由一个 #region 指令和其下方某处的一个 #endregion 指令构成。区域功能能够更轻松地浏览和组织代码。

​ 例如,下面的代码定义了区域 Constructors,包含 2 个构造函数 MyClass。如果不想查看其中的代码,可以在 Rider 中将其折叠为一行。

image-20240113144258104

24.9 警告开关指令(#pragma warning)

​ 使用 #pragma warning 指令可以关闭或重新开启警告消息。

  • disable:关闭警告消息。
  • restore:开启警告消息。

关闭/开启特定警告消息

​ 例如,下面的代码关闭 2 个警告消息 618 和 414,之后又开启了 618 警告消息。

image-20240113144642776

关闭/开启所有警告消息

​ 若不带任何数字列表,则命令会应用于所有警告。

image-20240113144718103
http://www.hkea.cn/news/513456/

相关文章:

  • 飘雪影视大全免费观看视频快推达seo
  • 做网站的装饰标语seo宣传网站
  • 国外 平面设计 网站百度收录
  • 做网站话术简述搜索引擎的工作原理
  • 现在建设网站赚钱吗seo外链论坛
  • 青海网站建设企业海南百度竞价推广
  • 南京做网站yuanmus电脑突然多了windows优化大师
  • 美国做deals的网站软文营销经典案例优秀软文
  • 招标网站怎么做吴江seo网站优化软件
  • 苏州建设工程协会网站seo去哪里学
  • 上海正规网站制作价格可口可乐软文营销案例
  • 番禺网站 建设信科网络站长之家ping
  • 建筑工程施工承包合同关键词优化报价推荐
  • 网站可以免费看企业网站系统
  • 中华人民共和国建设部网站seo怎么快速提高排名
  • 南宁做网站的有几家东莞网络营销网站建设
  • 苏州知名网站建设开发新区seo整站优化公司
  • 政府建设网站计划书品牌营销策略包括哪些内容
  • 深圳市做网站百度seo排名点击器app
  • 五莲网站建设维护推广网络营销推广及优化方案
  • 重庆网红整站多关键词优化
  • 动易网站cms一级消防工程师考试
  • wordpress更新报错想找搜索引擎优化
  • 提供网站建设费用资源网
  • wordpress怎么使用主题seo优化评论
  • 柳州做网站如何建网站详细步骤
  • 黄岛做网站哪家好四川seo关键词工具
  • dede门户网站模版写软文推广
  • 网站开发者排名开发一个app平台大概需要多少钱?
  • 做网站 博客百度推广助手客户端