.NET 6新特性试用 | 总结:我最喜欢的5个特性

前言

不知不觉,《.NET 6新特性试用》系列文章已经写了20多篇,而今天终于要告一段落了。

如果你还没有看过,详细文章列表在这里:

  • .NET 6新特性试用系列

在这么多特性中,我最喜欢如下5个特性:

1、最小Web API

仅需三行代码,就可以生成一个完整功能的Web API:

var app = WebApplication.Create(args);app.MapGet("/", () => "hello My IO!");app.Run();

虽然这看起来非常简陋,但是必须看到这个特性的真正价值——对于新人来说,更容易入门和理解。

与其在开始时就使事情变得复杂,不如先简化事情再稍后增加复杂性。

2、热重载

修改代码后无需重新编译,就可以将代码更改立即应用于正在运行的应用程序上。

3386a2b7fd3a544f8e4a05da627adc54.gif

通过减少等待应用重新生成、重启、重新导航到你在应用中的上一个位置等操作的时间来提高工作效率。

3、隐式using指令

再也不用在cs文件中写大量using指令了,只需修改项目文件,即可增加我们的global using:

<ItemGroup><Using Include="GlobalUsingDemo" />
</ItemGroup>

aa7eb49f8064c543a12f0c581bf27980.png

这可以大大减少模板文件的代码,使你的代码更加紧凑。

4、扩展属性模式

可以使用.引用对象属性的嵌套成员,进行模式匹配:

if(obj is Employee { Manager.Name:"lisi", Manager.Manager.Position: "CEO" } employee)

这可以使模式匹配表达式更易于阅读,特别是对于嵌套较深的类型。

拥有的嵌套越多,此功能就越强大。

5、System.Text.Json序列化代码自动生成

只需简单的几行代码:

[JsonSerializable(typeof(WeatherForecast))]
internal partial class WeatherForecastContext : JsonSerializerContext
{
}

就可以在编译时自动生成序列化代码,提升性能:

private static void WeatherForecastSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::WebApplication1.WeatherForecast? value)
{if (value == null){writer.WriteNullValue();return;}writer.WriteStartObject();writer.WriteNumber(PropName_TemperatureC, value.TemperatureC);writer.WriteNumber(PropName_TemperatureF, value.TemperatureF);writer.WriteString(PropName_Summary, value.Summary);writer.WriteEndObject();
}

以前都是我们自己用Source Generator开发功能,现在终于微软自己也用上了。

结论

当然,.NET 6新特性远远不止于此,只是限于作者精力和能力有限,没有在这个系列中全部体现出来。

如果大家有任何想法和建议,欢迎到公众号“My IO”后台留言与我交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《SAS编程与数据挖掘商业案例》学习笔记之十二

本次重点在&#xff1a;sas数据集管理 主要包括&#xff1a;包括数据集纵向拼接、转置、排序、比较、复制、重命名、删除等 1.append语句 注&#xff1a;base数据集和data两个数据集必须结构一样&#xff0c;避免使用force的情况&#xff0c;重复append的会造成重复。 一个避…

mikrotikROS系统的几种安装方法

这里简单介绍下几种ROS的安装方法,以及适用于哪些设备,这里我们先提供一个ROS6.0全系列版本的下载链接mikrotik-RouteOS-V6.0正式版下载 或者前往官方下载最新版常见的ROS硬件一般分为:X86架构(也是最常用的)mipsbe(欧米tik,部分RB系列,SXT,Groove等)mipsle(RBC系列,RB100,R…

分布式云+dubbo+zookeeper+Springmvc整合

2019独角兽企业重金招聘Python工程师标准>>> Dubbo采用全Spring配置方式&#xff0c;透明化接入应用&#xff0c;对应用没有任何API侵入&#xff0c;只需用Spring加载Dubbo的配置即可&#xff0c;Dubbo基于Spring的Schema扩展进行加载。 一&#xff1a;单机模式安装…

.Net下你不得不看的分表分库解决方案-多字段分片

介绍本期主角:ShardingCore 一款ef-core下高性能、轻量级针对分表分库读写分离的解决方案&#xff0c;具有零依赖、零学习成本、零业务代码入侵dotnet下唯一一款全自动分表,多字段分表框架,拥有高性能,零依赖、零学习成本、零业务代码入侵,并且支持读写分离动态分表分库,同一种…

知乎高赞:看懂这个颠覆世界观的认知,远比做1000道题更有用!

▲ 点击查看知乎上曾有个提问&#xff1a;“见过世面究竟有多重要&#xff1f;”其中一个点赞过万回答让无数网友产生共鸣&#xff1a;会讲究&#xff0c;能将就&#xff0c;能享受最好的&#xff0c;也能承受最坏的。见过世面的他们自然会在人群中散发不一样的气质&#xff0c…

Linux之VI命令详解

vi是所有UNIX系统都会提供的屏幕编辑器&#xff0c;它提供了一个视窗设备&#xff0c;通过它可以编辑文件。当然&#xff0c;对UNIX系统略有所知的人&#xff0c; 或多或少都觉得vi超级难用&#xff0c;但vi是最基本的编辑器&#xff0c;所以希望读者能好好把它学起来&#xff…

WebBrowser!

WebBrowser! 原文:WebBrowser!我现在先放一些基础的文章在这里&#xff0c;以后再放别的上来官方范例连接http://www.microsoft.com/china/msdn/library/langtool/vcsharp/OvervwWebBrowExp.mspxQ&A 2005年5月21日 0:14:19 Q: 新键入的地址不能在新建好的窗口里打开:A:每…

Android USB Host与HID通讯(二)

2019独角兽企业重金招聘Python工程师标准>>> 原文出处&#xff1a;http://han21912.lofter.com/post/c3919_51401d 接上一篇&#xff1a;Android USB Host与HID通讯 (一) 从上篇已经可以枚举到HID设备&#xff0c;接下来看看寻找设备的接口和通信端点&#xff0c;…

数据挖掘技术在信用卡业务中的应用及实例分析

信用卡业务具有透支笔数巨大、单笔金额小的特点&#xff0c;这使得数据挖掘技术在信用卡业务中的应用成为必然。国外信用卡发卡机构已经广泛应用数据挖掘技术促进信用卡业务的发展&#xff0c;实现全面的绩效管理。我国自1985年发行第一张信用卡以来&#xff0c;信用卡业务得到…

ubuntu之find方法

linux 下的find 命令 小总结..谢谢大家赏光!通用格式:find pathname -options [-print -exec -ok]例子:find / -name filename 再根目录里面搜索文件名为filename的文件find /etc -name *s*在目录里面搜索带有s的文件find /etc -name *S 在目录里面搜索以s结尾的文件find /etc …

CentOS7安装PHP5.6.23

为什么80%的码农都做不了架构师&#xff1f;>>> 美国时间2014年11月13日&#xff0c;PHP开发团队&#xff0c;在「PHP 5.6.3 is available&#xff5c;PHP: Hypertext Preprocessor」上公布了PHP5.6系的最新版本「PHP 5.6.3」。 在最新的版本5.6.3不仅修改了多个Bu…

使用 Apache Pig 处理数据5

使用 Apache Pig 从大数据集中获得所需的信息 Apache Pig 是一个高级过程语言&#xff0c;适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询&#xff0c;Pig 可以简化 Hadoop 的使用。本文将探索 Pig 背后的语言&…

为什么接吻需要闭眼睛?

1 你用上5G了吗&#xff1f;它已经用上了▼2 戴口罩的好处又增加了▼3 原来如此...▼4 哈哈哈哈▼5 露脐装的正确打开方式&#xff08;素材源于网络&#xff0c;侵删&#xff09;▼6 火鸡面到底有多辣▼7 孩子你要完了&#xff08;素材来源网络&#xff0c;侵删&#xff0…

最近要出绩效了

上周我们公司的绩效面谈全部结束了&#xff0c;每年到这个时间点就是打绩效的时候了&#xff0c;对于职场打工人来说绩效绝对是最重要的事情之一&#xff0c;原因也很简单&#xff1a;奖金、晋升、涨薪都和它有关系。比如下面这个美团员工在脉脉上的自曝就很凄凉&#xff1a;互…

C++类和new、delete操作符和堆和栈内存的分配

如果你是Java、C#、PHP程序员&#xff0c;那么会对 new 非常熟悉&#xff0c;在这些编程语言中&#xff0c;只能通过 new 来创建对象。在C中&#xff0c;你可以像定义变量一样来创建对象&#xff0c;如&#xff1a; Student stu; //对象已被实例化&#xff0c;已分配内存空间&…

从B 树、B+ 树、B* 树谈到R 树

作者&#xff1a;July、weedge、Frankie。编程艺术室出品。 说明&#xff1a;本文从B树开始谈起&#xff0c;然后论述B树、B*树&#xff0c;最后谈到R 树。其中B树、B树及B*树部分由weedge完成&#xff0c;R 树部分由Frankie完成&#xff0c;全文最终由July统稿修订完成。 出…

在CentOS中安装gcc配置c语言开发环境(转)

From:http://hsl46346.blog.163.com/blog/static/17764050201062074955358/ From: CentOS 5.4 下gcc和gcc-c的光盘 rpm 安装方式 From: centos 安装 java CentOs是linux系统的一种&#xff0c;只要该操作系统安装了gcc软件包&#xff0c;就可以在linux操作系统中进行C语言程序设…

纯IPv6环境App适配的坑

来源&#xff1a;伯乐在线专栏作者 - MrPeak 链接&#xff1a;http://ios.jobbole.com/86580/ 苹果从2016年6月1号开始&#xff0c;强制所有app必须支持纯IPv6的网络环境。这项举措将对IPv6的普及起到一定的推动作用&#xff0c;也体现了Apple作为国际大厂的担当。 大部分App由…

使用Visual Studio 创建新的Web Part项目

使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之一。它是平台构建的核心基块。1. 管理员身份打开Visual Studio&#xff0c;新建空白SharePoint项目。命名WroxSPProject&#xff0c;点击确定。部署为场解决方案&#xff0c;点击完成。…

聊一聊Yarp结合Nacos完成服务发现

背景 Yarp 这个反向代理出来后&#xff0c;相信还是有不少人在关注的。在 Yarp 中&#xff0c;反向代理的配置默认也是基于配置文件的&#xff0c;也有不少大佬已经把这个配置做成了数据库配置可视化界面。仔细想了想&#xff0c;做成数据库配置&#xff0c;好像只是便于配置的…