.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、热重载
修改代码后无需重新编译,就可以将代码更改立即应用于正在运行的应用程序上。
通过减少等待应用重新生成、重启、重新导航到你在应用中的上一个位置等操作的时间来提高工作效率。
3、隐式using指令
再也不用在cs文件中写大量using指令了,只需修改项目文件,即可增加我们的global using:
<ItemGroup><Using Include="GlobalUsingDemo" />
</ItemGroup>
这可以大大减少模板文件的代码,使你的代码更加紧凑。
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”后台留言与我交流!
.NET 6新特性试用 | 总结:我最喜欢的5个特性相关推荐
- Windows Live Writer新版新功能试用
微软的一款管理个人Blog的客户端工具Windows Live Writer经过前期版本的发展后,目前推出了其最新的Beta2版本.作为一款本地Blog管理工具,Windows Live Writer ...
- 华为新编程语言试用报名开启,此前官方称将推出鸿蒙 HarmonyOS“仓颉”
华为编程语言实验室面向 QQ 群人员发布了华为新语言试用报名问卷调查,并表示,"填写完信息后,请您及时查收邮箱信息,由于语言还未正式发布,因此后续会联系您签署保密协议,希望您能理解,再次感谢 ...
- [ECMAScript] 你喜欢es6的哪些特性?
[ECMAScript] 你喜欢es6的哪些特性? 展开操作符 解构赋值 字符串插值 方法属性 find findIndex Includes Promise ESM 个人简介 我是歌谣,欢迎和大家一 ...
- [react] 你最喜欢React的哪一个特性(说一个就好)
[react] 你最喜欢React的哪一个特性(说一个就好) virtual dom HOC 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 ...
- [react] 你最不喜欢React的哪一个特性(说一个就好)?
[react] 你最不喜欢React的哪一个特性(说一个就好)? 受控组件(input.radio.textarea)写起来始终难受,没有像vue的v-model之类的语法糖 个人简介 我是歌谣,欢迎 ...
- 淬火系统冷却特性测试仪软件,SQ2-瑞典IVF智能淬火介质冷却特性测试仪
瑞典IVF智能淬火介质冷却特性测试仪 IVF智能淬火介质冷却特性测试仪 用于试验和评价淬火介质冷却特性与淬火系统.IVF从1985年就开始制造IVF Quenchtest(淬火介质冷却特性测试仪).I ...
- R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验、检验时序数据是否具有均值回归特性(平稳性)、具有均值回归特性的案例
R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验.检验时序数据是否具有均值回归特性(平稳性).具有均值回归特性的案例 目录
- .NET 6新特性试用 | 可空引用类型
前言 在查看<隐式using指令>功能时,我们在csproj中发现这样一个属性: 那么,Nullable到底是干嘛的? 可为空上下文 严格来说,这不是新特性,而是C# 8.0引入的特性之一 ...
- 5.0 新特性试用体验之 Clustered Index
作者:hzc989 原文来源: https://tidb.net/blog/69dd056c [是否原创]是 [首发渠道]TiDB 社区 [目录] 一.引言 二.基础前情回顾 三.era withou ...
最新文章
- android的五大布局(layout)
- sdut-3102小鑫追女神
- setsockopt()使用方法(參数具体说明)
- hibernate教程--抓取策略详解
- linux docker升级,CentOS上面升级Docker到最新版本
- 这是最好的时代,也是最坏的时代
- 生日快乐程序_别@官方了!云开发教你制作个性头像小程序,以后过节想加啥就加啥!...
- 【MATLAB】无人驾驶车辆的模型预测控制技术(精简讲解和代码)【运动学轨迹规划】
- 职场必须要会的餐桌礼仪
- mysql从 lvs_mysql主从之LVS+keepalived+双主MySQL 负载均衡
- Q96:PT(3.1):基本的基于噪声的纹理(Basic Noise-Based Textures)
- 忙了好一阵子了 才记起来我的博客园
- Android 高效开发调试神器 JRebel
- 【原创】软件测试基础流程
- SRv6可编程技术-SRv6 Policy
- JSP与Servlet 程序设计教程
- 项目管理 - 常用英语词汇一
- USACO 2016 JANUARY CONTEST, BRONZE PROBLEM 3. MOWING THE FIELD(收割庄稼)
- 红月服务器制作过程,红月3.8C私服架设教程
- css焦点图片裁切技术