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

网站开发具体是干什么的模板网站免费

网站开发具体是干什么的,模板网站免费,哪个网站有适合小学生做的题,电子商务系统的构成【.NET Core】C#预处理器指令 文章目录 【.NET Core】C#预处理器指令一、概述二、可为空上下文(#nullable)三、条件编译2.1 定义DEBUG是编译代码2.2 未定义MYTEST时,将编译以下代码 四、定义符号五、定义区域六、错误和警告信息 一、概述 预…

【.NET Core】C#预处理器指令

文章目录

  • 【.NET Core】C#预处理器指令
    • 一、概述
    • 二、可为空上下文(`#nullable`)
    • 三、条件编译
      • 2.1 定义DEBUG是编译代码
      • 2.2 未定义`MYTEST`时,将编译以下代码
    • 四、定义符号
    • 五、定义区域
    • 六、错误和警告信息

在这里插入图片描述

一、概述

预处理器指令是指编译器在实际编译开始之前对信息进行预处理。通常是简化源程序在不同的环境中运行。尽管编译器没有单独的预处理器,但是本文所说的指令的处理方式与有预处理器时一样。可以使用这些指令来帮助条件编译。不同于C和C++指令,不能使用这些指令来创建宏。预处理器指令必须是一行中唯一的说明。

二、可为空上下文(#nullable

#nullable 预处理器指令将设置可为空注释上下文和可为空警告上下文 。 此指令控制是否可为空注释是否有效,以及是否给出为 Null 性警告。 每个上下文要么处于已禁用状态,要么处于已启用状态 。

可在项目级别指定这些两个上下文。#nullable 指令控制注释和警告上下文,并优先于项目级设置。 指令会设置其控制的上下文,直到另一个指令替代它,或直到源文件结束为止。

指令说明如下:

  • nullable disable:将可为空注释和警告上下文设置为”已禁用“。
  • #nullable enable:将可为空注释和警告上下文设置为“已启用”。
  • #nullable restore:将可为空注释和警告上下文还原为项目设置。
  • #nullable disable annotations:将可为空注释上下文设置为“已禁用”。
  • #nullable enable annotations:将可为空注释上下文设置为“已启用”。
  • #nullable restore annotations:将可为空注释上下文还原为项目设置。
  • #nullable disable warnings:将可为空警告上下文设置为“已禁用”。
  • #nullable enable warnings:将可为空警告上下文设置为“已启用”。
  • #nullable restore warnings:将可为空警告上下文还原为项目设置。

三、条件编译

使用四个预处理器指令来控制条件编译:

  • #if:打开条件编译,其中仅在定义了指令的符号时才会编译代码。
  • #elif:关闭前面的条件编译,并基于是否定义了指定的符号打开一个新的条件编译。
  • #else:关闭前面的条件编译,如果没有定义前面指定的符号,打开一个新的条件编译。
  • #endif:关闭前面的条件编译。

仅在定义指定的符号时或者在使用!not运算符时未定义指定的符号时,C#编译器才编译#if指令和#endif指令之间的代码。C#中的#if语句是布尔值,且仅测试是否已定义该符号。

2.1 定义DEBUG是编译代码

#if DEBUGConsole.WriteLine("Debug version");
#endif    

2.2 未定义MYTEST时,将编译以下代码

#if !MYTESTConsole.WriteLine("MYTEST is not defined.");
#end if

可以使用运算符==(相等)!=(不相等)老测试bool值是true还是false。true表示定义该符号。语句#if DEBUG具有与#if (DEBUG == true)相同的含义。可以使用&&(and)||(or)!(not)运算符来计算是否已定义多个符号。还可以用括号对符号和运算符进行分组。

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

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

#elif 可以创建复合条件指令。 如果之前的 #if 和任何之前的可选 #elif 指令表达式的值都不为 true,则计算 #elif 表达式。 如果 #elif 表达式计算结果为 true,编译器将计算 #elif 和下一条件指令间的所有代码。

四、定义符号

使用以下两个预处理器指令来定义或取消定义条件编译的符号:

  • #define:定义符号
  • #undef:取消定义符号

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

#define GOYEER
#if GOYEERConsole.WriteLine("Verbose output version");
#endif    

#define 指令不能用于声明常量值,这与 C 和 C++ 中的通常做法一样。 C# 中的常量最好定义为类或结构的静态成员。 如果具有多个此类常量,请考虑创建一个单独的“常量”类来容纳它们。

五、定义区域

可以使用以下两个预处理器指令来定义可在大纲中折叠的代码区域:

  • #region:启动区域。
  • #endregion:结束区域

利用#region,可以指定在使用代码编辑器的大纲功能时可展开或折叠的代码块。在较长的代码文件中,折叠或隐藏一个或多个区域十分便利。

#region GoYeerClass definition
public class GoYeerClass
{static void Main(){}
}
#endregion

#region 块必须通过 #endregion 指令终止。 #region 块不能与 #if 块重叠。 但是,可以将 #region 块嵌套在 #if 块内,或将 #if 块嵌套在 #region 块内。

六、错误和警告信息

使用以下指令指示编译器生成用户定义的编译器错误和警告,并控制行信息:

  • #error:使用指定的消息生成编译器错误。
  • #warning:使用指定的消息生成编译器警告。
  • #line:更改用编译器消息输出的行号。
class MainClass
{static void Main(){
#line 200 "Special"int i;int j;
#line defaultchar c;float f;
#line hidden // numbering not affectedstring s;double d;}
}

控制台输出结果:

Special(200,13): warning CS0168: The variable 'i' is declared but never used
Special(201,13): warning CS0168: The variable 'j' is declared but never used
MainClass.cs(9,14): warning CS0168: The variable 'c' is declared but never used
MainClass.cs(10,15): warning CS0168: The variable 'f' is declared but never used
MainClass.cs(12,16): warning CS0168: The variable 's' is declared but never used
MainClass.cs(13,16): warning CS0168: The variable 'd' is declared but never used
http://www.dt0577.cn/news/13501.html

相关文章:

  • 做网站的软件电子韶关疫情最新消息
  • 承德网站设计公司百度识图识别
  • 网站建设可行性报告杭州百度快速排名提升
  • 石狮网站建设费用百度推广效果
  • 网站开发安全管理google seo实战教程
  • 给公司做网站怎么弄职业技能培训网站
  • 外贸网站建设注意事项木卢seo教程
  • github wordpress主题西安快速排名优化
  • 哪个网站做3d模型淘宝自动推广软件
  • 做海报那个网站好人力资源管理师
  • 电子商务在线网站建设各种手艺培训班
  • 苏州 网站建设 app深圳网站页面设计
  • 如何在国内做网站百度浏览器下载安装2023版本
  • h5设计是什么长沙好的seo外包公司
  • 毕节网站建设电脑学校培训
  • 软件外包公司的一生沈阳网站推广优化
  • 做服装的一般去什么网站找图片网站推广方法
  • app网站做二手交易腾讯体育nba
  • 沧州网站建设代理价格免费b站网站推广
  • 武汉老牌网站建设公司网络域名综合查询
  • 贺州网站制作google seo是什么
  • 可以将自己做的衣服展示的网站nba实力榜最新排名
  • wordpress读取txtseo优化的主要任务
  • 旅行社网站建设方案书山东16市最新疫情
  • 郴州seo快速排名seowhy教研室
  • 做电影网站要不要收费苏州百度推广
  • 网站根目录文件名微信怎么做推广
  • 怎么自己做优惠券网站关键词排名提高
  • 如何做彩票网站代理seo服务外包报价
  • 网站开发需要甲方提供什么全国十大跨境电商排名