广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    C#基础知识 - 什么是预处理(#define、#if)

    来源:网络收集  点击:  时间:2024-02-15
    【导读】:
    尽管C#编译器没有单独的预处理器,但描述的指令的处理方式与有预处理器时是一样的。这些指令用于帮助条件编译。而不同于 C 和 C++ 指令,不能使用这些指令来创建宏。预处理器指令必须是一行中唯一的说明。工具/原料morevisual studio 2015简介1/1分步阅读

    《C# 指南 》中标识了如下预处理指令,依次理解演示。

    #if

    #else

    #elif

    #endif

    #define

    #undef

    #warning

    #error

    #line

    #region

    #endregion

    #pragma

    #pragma warning

    #pragma checksum

    “#if、#else、#elif、#endif”1/4

    此四个指令组成一个系列

    1、以#if指令开头的条件指令必须以#endif指令显式终止。

    2、#if 、#else、#elif、#endif,允许基于“是否”“存在”一个或多个符号包括或排除代码。这在条件编译调试版本的代码或编译特定配置的代码时会很有用。

    3、仅可以使用运算符==(相等)和!=(不相等)测试true或false。

    4、可以使用运算符(and)、||(or) 和!(not) 评估是否已经定义了多个符号。

    2/4

    此处演示#if、#endif,没有其他预编译指令时,可观察到MyTest处于未定义状态,那么#if(MyTest)下的语句不执行,不编译(代码处于灰色状态)

    3/4

    #if、#else、#elif、#endif,演示观察下,MyTest和MySign均处于未定义状态,可使用组成较复杂的条件编译。

    4/4

    与if、else、elif用法类似,同样是优先执行后,跳出if代码段。

    #define #undef1/3

    #define定义符号。将符号用作传递给#if指令的表达式时,该表达式的计算结果为true

    1、#define需要放在using之前使用

    2、#define指令不能用于声明常量值

    #undef允许定义符号,通过将该符号用作#if指令中的表达式,表达式将计算为false。使用类似#define

    2/3

    1、#define放在其他位置时

    CS1032不能在文件的第一个标记之后定义或取消定义预处理器符号

    2、#define指令不能用于声明常量值

    CS1025应输入单行注释或行尾

    3/3

    生成系统还会感知表示不同目标框架的预定义预处理器符号。

    因此在创建面向多个.NET 实现或版本的应用程序时,预处理符号会很有用。

    基础知识预处理
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_44946.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 13:50:03  耗时:0.025
    0.0251s