前言

不知不觉,《.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个特性相关推荐

  1. Windows Live Writer新版新功能试用

    微软的一款管理个人Blog的客户端工具Windows Live Writer经过前期版本的发展后,目前推出了其最新的Beta2版本.作为一款本地Blog管理工具,Windows Live Writer ...

  2. 华为新编程语言试用报名开启,此前官方称将推出鸿蒙 HarmonyOS“仓颉”

    华为编程语言实验室面向 QQ 群人员发布了华为新语言试用报名问卷调查,并表示,"填写完信息后,请您及时查收邮箱信息,由于语言还未正式发布,因此后续会联系您签署保密协议,希望您能理解,再次感谢 ...

  3. [ECMAScript] 你喜欢es6的哪些特性?

    [ECMAScript] 你喜欢es6的哪些特性? 展开操作符 解构赋值 字符串插值 方法属性 find findIndex Includes Promise ESM 个人简介 我是歌谣,欢迎和大家一 ...

  4. [react] 你最喜欢React的哪一个特性(说一个就好)

    [react] 你最喜欢React的哪一个特性(说一个就好) virtual dom HOC 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 ...

  5. [react] 你最不喜欢React的哪一个特性(说一个就好)?

    [react] 你最不喜欢React的哪一个特性(说一个就好)? 受控组件(input.radio.textarea)写起来始终难受,没有像vue的v-model之类的语法糖 个人简介 我是歌谣,欢迎 ...

  6. 淬火系统冷却特性测试仪软件,SQ2-瑞典IVF智能淬火介质冷却特性测试仪

    瑞典IVF智能淬火介质冷却特性测试仪 IVF智能淬火介质冷却特性测试仪 用于试验和评价淬火介质冷却特性与淬火系统.IVF从1985年就开始制造IVF Quenchtest(淬火介质冷却特性测试仪).I ...

  7. R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验、检验时序数据是否具有均值回归特性(平稳性)、具有均值回归特性的案例

    R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验.检验时序数据是否具有均值回归特性(平稳性).具有均值回归特性的案例 目录

  8. .NET 6新特性试用 | 可空引用类型

    前言 在查看<隐式using指令>功能时,我们在csproj中发现这样一个属性: 那么,Nullable到底是干嘛的? 可为空上下文 严格来说,这不是新特性,而是C# 8.0引入的特性之一 ...

  9. 5.0 新特性试用体验之 Clustered Index

    作者:hzc989 原文来源: https://tidb.net/blog/69dd056c [是否原创]是 [首发渠道]TiDB 社区 [目录] 一.引言 二.基础前情回顾 三.era withou ...

最新文章

  1. android的五大布局(layout)
  2. sdut-3102小鑫追女神
  3. setsockopt()使用方法(參数具体说明)
  4. hibernate教程--抓取策略详解
  5. linux docker升级,CentOS上面升级Docker到最新版本
  6. 这是最好的时代,也是最坏的时代
  7. 生日快乐程序_别@官方了!云开发教你制作个性头像小程序,以后过节想加啥就加啥!...
  8. 【MATLAB】无人驾驶车辆的模型预测控制技术(精简讲解和代码)【运动学轨迹规划】
  9. 职场必须要会的餐桌礼仪
  10. mysql从 lvs_mysql主从之LVS+keepalived+双主MySQL 负载均衡
  11. Q96:PT(3.1):基本的基于噪声的纹理(Basic Noise-Based Textures)
  12. 忙了好一阵子了 才记起来我的博客园
  13. Android 高效开发调试神器 JRebel
  14. 【原创】软件测试基础流程
  15. SRv6可编程技术-SRv6 Policy
  16. JSP与Servlet 程序设计教程
  17. 项目管理 - 常用英语词汇一
  18. USACO 2016 JANUARY CONTEST, BRONZE PROBLEM 3. MOWING THE FIELD(收割庄稼)
  19. 红月服务器制作过程,红月3.8C私服架设教程
  20. css焦点图片裁切技术

热门文章

  1. Android Studio开发环境搭建准备
  2. 鄙人之斗,读IT之洋(1)
  3. Mysql不同存储引擎的表转换方法
  4. java中自定义表单和流程_让驰骋工作流程引擎 ccbpm使用自定义表单来实现自己的业务逻辑....
  5. sublime python配置运行
  6. war部署到tomcat
  7. Javascript和android原生互调
  8. iOS方法类:CGAffineTransform
  9. operation 多线程
  10. [WP] 关于页面切换动画 记录