闲话 .NET(6):.NET Core 各个版本的特性

image

前言

之前我们聊了一下 .NET Core 有哪些优势,.NET Core 发展非常迅速,不过短短几年,.NET Core 已经发布 .NET 8 了,基本上保持了一年一个版本的速度,每个版本都有自己的独有特性,下面我们来简单的盘点一下这些新特性有哪些。

.NET Core 1.0

.NET Core 1.0 突破了操作系统的限制,是第一个支持在 Windows、Linux 和 macOS 上运行的 .NET 版本,它采用新的一系列的命令行工具,引入了新的运行时和库,提高了开发效率、性能和可扩展性,打开了.NET 的全新时代。

.NET Core 2.0

增加了对 Razor Pages 的支持,简化了 Web 应用程序的开发。

Razor Pages 有些类似于传统的 ASP.NET Web Forms,即将前端页面和后端代码逻辑紧密集成在一个文件中。

每个 Razor Pages 文件(.cshtml)都包含了 HTML 标记和 C# 代码,使开发人员能够在同一个文件中处理页面布局、数据绑定和事件处理等操作。

Razor Pages 使用了 Razor 语法,这是一种简洁、直观的模板语言,可以轻松地将 C# 代码嵌入到 HTML 中。

Razor 语法支持处理数据显示、条件逻辑、循环结构等,也支持部分视图(Partial Views)的概述,可以将页面的某些部分作为可重用的组件进行封装。

同时,在此版本中,增加了对 .NET Standard 2.0 的支持,.NET FrameWork 中更多的 API 可以在 .NET Core 中使用。

.NET Core 2.1

引入了高性能的 Span<T> 类型,更有效地处理内存和数据。

Span<T> 是一个结构体,用于表示连续的内存区域,并提供了一组安全且高效的方法来访问和操作这些内存区域,如索引访问、切片操作、复制和填充等。

通过 Span<T>,我们可以直接操作内存,而无需进行不必要的内存分配和复制操作。这对于处理大型数据集合或高性能计算任务非常有用。

.NET Core 3.0

引入了 Windows 桌面应用支持,.NET Core 对 WinForms 和 WPF 进行了改进和优化,提高了性能和功能,通过 .NET Core 开发 Windows 桌面应用,性能比 .NET FrameWork 框架高出很多。

同时,鉴于 JSON 格式广泛的使用,此版本引入了用于 JSON 序列化和反序列化的官方库 System.Text.Json,它的性能和功能并不逊色于 Newtonsoft.Json,并且它支持可定制化,有了它,开发人员对于处理 JSON 数据,有了更好的方式。

.NET Core 3.1

进一步优化了安全、性能和内存管理等方面,提高了系统的性能表现和安全性,这是一个长期支持版本,提供长期的支持和更新。

.NET 5

.NET 5 引入了 AOT(Ahead of Time Compilation),这是一种新的编译技术,可以进行更多的优化,提高应用程序的性能表现。

它在应用程序部署时将代码编译为本机机器代码,而不是在运行时进行即时编译(JIT),避免了运行时的即时编译开销,减少了应用程序的内存占用和 CPU 使用率。

它适用于那些不需要动态生成代码的应用程序,可以提供更快的加载和执行速度。

需要注意的是 AOT 会增加应用程序的部署大小,因为编译后的本机代码比 IL(Intermediate Language)代码更大,也不支持动态生成的应用程序。

.NET 6

仅需三行代码,就可以生成一个完整功能的 Web API,.NET 6 引入了 “最小 Web API” 的功能,它简化和加速了创建基于 .NET 的 Web API 项目的过程,对于新人来说,更容易入门和理解。

.NET 6 还引入了热重载,这意味着即使程序已经在运行中,代码修改后也无需重新编译,就可以将代码更改立即应用于正在运行的应用程序上。

.NET 6 也是一个长期支持版本,提供长期的支持和更新。

.NET 7

.NET 7 引入了 .NET MAUI,这是一种新的跨平台应用程序开发框架,允许使用单一代码库构建移动、桌面和 Web 应用程序,继承了 Xamarin.Forms 的优点,进一步扩展和改进了跨平台开发体验。

此外,备受程序员期待的新特性 “原始字符串” 在这个版本终于支持了,程序员们在处理原始字符串时更加方便了,不需要再进行各种面目全非的转义了,这对于程序开发和维护有很大的帮助。

.NET 8

.NET 8 在整个堆栈中带来了数千项性能改进,性能得到了极大的提升。

.NET 8 还集成了全新的 WinUI 3,WinUI 3 是一个现代化的 Windows UI 框架,可以快速构建跨平台的 Windows 应用程序。

通过 .NET SDK 中一流的开箱即用 AI 功能以及与多种工具的无缝集成,.NET 8 可以帮助开发人员在其应用程序中创建独特的人工智能体验。

结语

本文讲述了历来每个 .NET Core 版本比较有价值的新特征,这些特性提升了开发人员的生产力和应用程序的性能、可用性以及跨平台能力。

当然,.NET Core 还有很多突出的功能,本文仅供参考。您认为 .NET Core 还有哪些比较有价值的新特性,欢迎留言讨论。

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。

都看到这了,求个点赞、关注、在看三连呗,感谢支持。

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

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

相关文章

【一篇文章搞定电脑重装,简单易懂,速来学习!】

大家好&#xff01;今天给大家带来一篇非常实用的文章——电脑系统重装教程。不管你是电脑小白还是有一定基础的用户&#xff0c;这个教程都能满足你的需求。我们将从前期准备到具体的重装步骤&#xff0c;一步步教你如何重装电脑系统。 教程 介绍 [教程名称]&#xff1a;u盘…

AIGC行业的发展前景与市场需求

简介&#xff1a;探讨当前时机是否适合进入AIGC行业&#xff0c;考虑行业发展阶段和市场需求。 方向一&#xff1a;行业前景 AIGC&#xff08;人工智能生成内容&#xff09;行业是近年来随着人工智能技术的快速发展而兴起的一个新兴领域&#xff0c;它涉及到使用人工智能技术来…

可视化大屏开发,知道了这些经验以及解决方案,效率至少提升2倍!(完结篇)

大家好&#xff0c;我是日拱一卒的攻城师不浪&#xff0c;专注可视化、数字孪生、前端、nodejs、AI学习、GIS等学习沉淀&#xff0c;这是2024年输出的第16/100篇文章&#xff1b; 前言 之前写了两篇可视化大屏开发的经验总结&#xff0c;小伙伴们反应还不错。 最近&#xff0…

上海企业ESG标准实施启动仪式暨首届城市可持续发展北外滩论坛,莱巍爵CEO瞿伟锋再获殊荣,绽放异彩

2024年5月20日&#xff0c;上海企业ESG标准实施启动仪式暨首届城市可持续发展北外滩论坛在虹口区白玉兰广场成功举行&#xff0c;上海市工业经济联合会会长管维镛&#xff0c;上海市市场监督管理总局副局长王益洋&#xff0c;联合国工业发展组织投资与技术促进办公室主任赵晓蕾…

【Flutter】Dialog组件PageView组件

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Flutter学习 &#x1f320; 首发时间&#xff1a;2024年5月27日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43e; 目…

Shiro+Jwt+Redis

如何整合ShiroJwtRedis&#xff0c;以及为什么要这么做 我个人认为 ①为什么用shiro&#xff1a;“ShiroJwtRedis”模式和“单纯的shiro”模式相比&#xff0c;主要用的是shiro里面的登录认证和权限控制功能 ②为什么用jwt&#xff1a;“ShiroJwt”模式和“ShiroCookie”模式相…

生命在于学习——Python人工智能原理(2.1)

二、机器学习 1、机器学习的定义 机器学习是指从有限的观测数据中学习出具有一般性的规律&#xff0c;并利用这些规律对未知数据进行预测的方法&#xff0c;通俗的讲&#xff0c;机器学习就是让计算机从数据中进行自动学习&#xff0c;得到某种知识。 传统的机器学习主要关注…

1分钟快速掌握JSON格式

文章目录 先说理论代码举例对象型数组型总结 先说理论 下面是JSON的几种简单数据类型: 数据类型描述数字型JavaScript中的双进度浮点类型&#xff0c;通常根据具体情况定义&#xff0c;这里是没有特殊的整形的。字符串型带双引号的Unicode&#xff0c;带反斜杠转义布尔型true…

图形学初识--双线性插值算法

文章目录 为什么需要双线性插值算法&#xff1f;双线性插值算法是什么&#xff1f;如何双线性插值&#xff1f;结尾&#xff1a;喜欢的小伙伴可以点点关注赞哦 为什么需要双线性插值算法&#xff1f; ChatGP回答&#xff1a; 双线性插值&#xff08;bilinear interpolation&am…

AI绘画图生图有什么用?

随着AI渗透到我们生活中的各个角落&#xff0c;AI绘画图生图的出现&#xff0c;更是在艺术领域引起了广泛的关注和讨论。那么&#xff0c;AI绘画图生图究竟有什么作用呢? 首先&#xff0c;AI绘画图生图能够极大地提高创作效率。传统的绘画过程需要艺术家们花费大量的时间和精力…

2024年怎么下载学浪app视频

想要在2024年紧跟潮流&#xff0c;成为一名优秀的学浪用户吗&#xff1f;今天就让我们一起探索如何下载学浪app视频吧&#xff01; 学浪视频下载工具打包 学浪下载工具打包链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享…

第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解

本文讲解手机蓝牙如何遥控小车&#xff0c;如何编写串口通信指令 第14章-手机遥控功能 我们要实现蓝牙遥控功能&#xff0c;蓝牙遥控功能要使用:1.单片机的串口、2.蓝牙通信模块 所以我们先调试好:单片机的串口->蓝牙模块->接到一起联调 14.1-电脑控制小车 完成功能…

网络工程师备考2——vlan

vlan 1、什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&#xff0c;翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域…

ABeam 德硕 Team Building | SDC Green Day——环保公益行动

山野好拾光 春日公益行 继上年度大连办公室Green Day活动的顺利举办&#xff0c;环保的理念更加深入到ABeam每一位员工的心中。春日天气晴好&#xff0c;西安办公室的小伙伴们也迫不及待来上一场说走就走的Green Day Outing活动。 本次环保公益行动主题为「夏日Go Green畅享山…

千亿级开源大模型Qwen110B部署实测

近日&#xff0c;通义千问团队震撼开源 Qwen1.5 系列首个千亿参数模型 Qwen1.5-110B-Chat。 千亿级大模型普通显卡是跑不了推理的&#xff0c;普通人一般也没办法本地运行千亿级大模型。 为了探索千亿级大模型到底需要计算资源&#xff0c;我用云计算资源部署了Qwen1.5-110B-…

谷歌AI搜索功能“翻车”,用户体验引担忧

近期&#xff0c;谷歌对其搜索引擎进行重大更新&#xff0c;推出了全新AI搜索功能“AI Overview”&#xff0c;试图通过人工智能技术提供更智能便捷的搜索体验&#xff0c;并追赶微软和OpenAI等竞争对手。然而事与愿违&#xff0c;这项备受期待的功能上线后却频频出错&#xff…

测试基础06:软件产品的运行环境dev、sit、test、fat、uat、pre、pro

​​​​​​​课程大纲 1、Dev开发环境 &#xff08;Development environment&#xff09; 使用者 开发人员使用。 用途 用于编程&#xff0c;版本变动很大。 外部能否访问 外部用户无法访问。 2、sit/ITE系统集成测试环境 &#xff08;System Integration Testing en…

30多万汉字词语押韵查询ACCESS\EXCEL数据库

押韵&#xff0c;也作“压韵”。作诗词曲赋等韵文时在句末或联末用同韵的字相押&#xff0c;称为押韵。诗歌押韵&#xff0c;使作品声韵和谐&#xff0c;便于吟诵和记忆&#xff0c;具有节奏和声调美。旧时押韵&#xff0c;要求韵部相同或相通&#xff0c;也有少数变格。现代新…

《开发问题解决》Window下7z解压:cannot create symbolic link : 客户端没有所需的特权

问题描述&#xff1a; 今天使用7z来解压东西的是突然出现这个问题。 问题解决&#xff1a; download直接下载到c盘中&#xff0c;由于所在文件夹有权限限制。无法进行正常解压。 7.zip解压时使用管理员权限进行解压&#xff0c;解压时使用管理员权限。即如图 使用管理员权限重…

【面试干货】找出一个偶数能够表示为两个素数之和的所有可能情况

【面试干货】找出一个偶数能够表示为两个素数之和的所有可能情况 1、实现思想2、代码实现 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、实现思想 功能&#xff1a;通过循环遍历奇数&#xff0c;找出一个大于等于 6 的偶数能够表示为两…