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

news2024/10/7 2:30:57

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.coloradmin.cn/o/1698798.html

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

相关文章

从零实现Llama3中文版

1.前言 一个月前&#xff0c;Meta 发布了开源大模型 llama3 系列&#xff0c;在多个关键基准测试中优于业界 SOTA 模型&#xff0c;并在代码生成任务上全面领先。 此后&#xff0c;开发者们便开始了本地部署和实现&#xff0c;比如 llama3 的中文实现、llama3 的纯 NumPy 实现…

【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?

一、什么是池化&#xff1f; 卷积神经网络&#xff08;CNN&#xff09;中的池化&#xff08;Pooling&#xff09;操作是一种下采样技术&#xff0c;其目的是减少数据的空间维度&#xff08;宽度和高度&#xff09;&#xff0c;同时保持最重要的特征并降低计算复杂度。池化操作不…

高速数据采集与传输(一):ADC08D500调研

前言&#xff1a;高速ADC数据采集的应用和开发&#xff0c;涉及的技术面非常的广泛&#xff0c;后续阶段博主将尝试以纯项目开发的形式做一次专题技术分享&#xff0c;将基于高速数据采集的相关内容进行一系列的技术文档更新。博主全凭兴趣在更新和总结&#xff0c;很难做到一直…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月26日预测第2弹

今天继续基于8883的大底进行测试&#xff0c;昨天的预测已成功命中&#xff01;今天继续测试&#xff0c;按照排三前面的规律&#xff0c;感觉要出对子了&#xff0c;所以本次预测不再杀对子&#xff0c;将采用杀一个和尾来代替。好了&#xff0c;直接上结果吧~ 首先&#xff0…

软考结束。有什么要说的

1. 竟然是机试&#xff0c;出乎我意料。是 考试机构觉得笔试成本高了么。这次的考试是机试&#xff0c;相比以往有所不一样。感言是不是以后都会在固定地点考试也说不准。 2. 遇到年轻人。 这次旁边的一个女同学第一次参加&#xff0c;还像我询问了一些关于软考的事。我是有…

14 vue学习:透传Attributes

Attributes 继承 “透传 attribute”指的是传递给一个组件&#xff0c;却没有被该组件声明为 [props]或 [emits]的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。 当一个组件以单个元素为根作渲染时&#xff0c;透传的 attribute 会自动被添加到根元…

vcpkg环境配置

vcpkg 使用linux相关库&#xff0c;设置环境变量VCPKG_ROOT&#xff0c;设置cmake工具链$VCPKG_ROOT/scripts\buildsystems\vcpkg.cmake set VCPKG_DEFAULT_TRIPLETx64-windows .\vcpkg.exe install fftw3 freetype gettext glibmm gtkmm libjpeg-turbo libpng libxmlpp libs…

pytest框架用例命名规则详解

pytest 测试用例的命名规则是为了确保 pytest 能够正确地识别和执行测试用例。 以下是关于 pytest 测试用例命名规则的详细解释&#xff1a; 1 单个测试文件以‘test_’开头或者以‘_test’结尾 比如我们创建test_case1.py case2_test.py文件。 2 单个测试文件中&#xff0c…

PLC_博图系列☞R_TRIG:检测信号上升沿

PLC_博图系列☞R_TRIG&#xff1a;检测信号上升沿 文章目录 PLC_博图系列☞R_TRIG&#xff1a;检测信号上升沿背景介绍R_TRIG&#xff1a; 检测信号上升沿说明参数示例 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 R_TRIG 背景介绍 这是一篇关于PLC编程的文章&a…

服务器安全审计: chkrootkit 和 rkhunter 详解

chkrootkit 和 rkhunter 是两个广泛使用的安全工具,用于检测系统是否被Rootkit或其他恶意软件感染。本文将详细说明这两个工具的使用方法及如何解释检测结果。 1. chkrootkit 1.1. 安装 chkrootkit 在CentOS上安装 chkrootkit 可以使用以下命令: yum install chkrootkit -…

SpringMVC:创建一个简单的SpringMVC框架S

目录 一、框架介绍 两个重要的xml文件 SpringMVC执行流程 二、Vscode搭建SpringMVC框架 1、maven创建webapp原型项目 2、pom.xml下添加springmvc的相关依赖 3、在web.xml配置 4、springmvc.xml的配置 5、编写Controller控制器类 6、 编写JSP界面 7、项目结构图 一…

$subcribe的使用

$subcribe的使用 只要是store都有$subscribe函数&#xff0c;是订阅的意思&#xff0c;可以监测到store中数据的变化 使用$subscribe函数可以实现刷新不丢失&#xff0c;将数据保存到浏览器的本地存储中&#xff0c;每次进入页面都使用localStorage的数据填充页面

springboot带颜色的日志输出

话不多说直接贴全部代码在作解释 <?xml version"1.0" encoding"utf-8"?> <configuration><property name"pattern" value"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n"/><propert…

MySQL数据库基础:使用、架构、SQL语句、存储引擎

文章目录 什么是数据库CS模式 基本使用安装链接服务器服务器、数据库、表关系简单使用数据库在Linux下的体现 MySQL架构连接器层客户端层服务层存储引擎层物理存储层 SQL分类存储引擎 什么是数据库 mysql&#xff1a;数据库服务的客户端mysqld&#xff1a;数据库服务的服务器端…

LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现

0x01 产品简介 LVS精益价值管理系统是杭州吉拉科技有限公司研发的一款专注于企业精益化管理和价值流优化的解决方案。该系统通过集成先进的数据分析工具、可视化的价值流映射技术和灵活的流程改善机制,帮助企业实现高效、低耗、高质量的生产和服务。 0x02 漏洞概述 LVS精益…

【云原生】Kubernetes-----POD资源限制与探针机制

目录 引言 一、资源限制 &#xff08;一&#xff09;基本定义 &#xff08;二&#xff09;资源单位 1.CPU资源 2.内存资源 &#xff08;三&#xff09;请求与限制 &#xff08;四&#xff09;定义方式 1.编写yaml文件 2.查看资源情况 &#xff08;五&#xff09;资源…

【顶刊新文】nature plants|植物高度作为高山碳固存和生态系统对变暖响应的指标

文章简介 论文名称&#xff1a;Plant height as an indicator for alpine carbon sequestration and ecosystem response to warming&#xff08;植物高度作为高山碳固存和生态系统对变暖响应的指标&#xff09; 第一作者及单位&#xff1a;Quan Quan&#xff08;中国科学院地…

ERP产品一体化、智能化发展加速,智邦国际何以赢得先机?

近年&#xff0c;随着全球经济环境的剧烈变动&#xff0c;市场竞争的硝烟愈发浓烈。受大环境影响&#xff0c;百行千企在发展过程中&#xff0c;力求降低成本、增长效率&#xff0c;以增加自身竞争力。需求与市场并存&#xff0c;为激发更多潜在力量&#xff0c;越来越多的企业…

构建高效的在线培训机构CRM应用架构实践

在当今数字化时代&#xff0c;在线培训已成为教育行业的重要趋势之一。为了提供更好的学习体验和管理服务&#xff0c;在线培训机构需要构建高效的CRM&#xff08;Customer Relationship Management&#xff09;应用架构。本文将探讨在线培训机构CRM应用架构的设计与实践。 一、…

如同“水生态”的存储引擎|OceanBase数据转储合并技术解读(一)

本系列文章主要围绕 OceanBase数据库存储引擎中的转储合并进行解读&#xff0c;涉及到数据存储、转储合并、数据校验等方面的内容&#xff0c;旨在让读者了解OceanBase数据库的存储引擎中与转储合并有关的各种概念&#xff0c;帮助读者更好地理解OceanBase数据库的存储技术原理…