APP下载
报价宝  ›  综合  › 

微软释出.NET Standard 2.1,拟新增三千个API

报价宝 来源:baojiabao.com 发布时间:2019-01-18 10:34:00 10月05日更新
报价宝综合消息微软释出.NET Standard 2.1,拟新增三千个API

微软在去年发布.NET Standard 2.0,约一年的时间再次更新并释出.NET Standard 2.1,这期间已经发布了.NET Core 2.1两个版本,接下来即将时出.NET Core 2.2。微软现在对.NET Standard进行更新,预计新增三千个API,其中一大部分是全新的API,另一部分则是增加原有的API范围,以进一步汇总.NET的实作。

这次的更新不只是对原本语法进行更新,同时也加入了一些新概念。.NET Standard 2.1现支援Span ,而在.NET Core 2.1中,微软早为其新增了Span ,这是一个类似阵列的类型,允许以统一的方式表达管理与非管理内存,并支援无复制切片。新增Span 与多数.NET Core 2.1的效能提升有关,因为该功能让管理缓冲区变得更加有效率,并且也帮助减少内存配置以及复制,微软认为,Span 是一种非常基础的类别,因为需要Runtime和编译器支援才能充分使用。

为了提高生产力,.NET生态系统一直使用大量的动态功能,包括Reflection以及Reflection Emit。Emit通常作为最佳化效能的工具,以及为代理界面动态生成类型的方法,而这样的方便性让不少开发者要求微软在.NET Standard中加入Reflection Emit。过去曾透过NuGet套件这样的功能,但是微软后来发现,套件难以模拟这种核心技术,因此在.NET Standard 2.1中正式支援,开发者可以使用轻量级程式码生成(Lightweight Code Generation,LCG)以及Reflection Emit。

再来.NET Standard 2.1重要的更新便是增加支援SIMD,在.NET Framework和.NET Core都已经支援SIMD一段时间了,微软利用SIMD来加速BCL中的基本运算,像是字串比较等功能。跟Reflection Emit功能一样,有不少开发者要求微软在.NET Standard中公开这些API,毕竟这些功能需要Runtime支援,因此无法光以NuGet套件提供。

微软还为.NET Standard 2.1新增了ValueTask和ValueTask 。在.NET Core 2.1中,最大的基础改进便是支援高效能情境,包括让async/await更加有效率。ValueTask原本就已经存在,当操作同步完成,不需要分配新的Task就能回传结果,在.NET Core 2.1中,微软进一步改进了这点,这使得相对应非通用ValueTask变得很有用,对于必须要异步完成操作的情况,也能减少内存使用,这是类似于Socket和NetworkStream的功能。微软现在于.NET Standard 2.1中公开这些API,供函式库开发者可以方便使用。

在.NET Standard 2.0中,微软在ADO.NET中添加了很多原语(Primitive),让O/R映射器和数据库实作可以在进行通讯,但是DbProviderFactories被漏掉了,现在微软在.NET Standard 2.1中补上。简单来说,DbProviderFactories允许函式库和应用程序在编译时,使用特定的ADO.NET提供程式,能够基于名称选择已注册的DbProviderFactory实体,而不需要知道任何特定类型。

微软提到,.NET Standard 1.x和2.0版本专注于公开现有的概念,大部分的工作都还是在.NET Core方面进行,因为.NET Core提供较小的API集合。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 数码相机价格 手机价格 电视机价格 小米手机价格 红米手机价格