.NET 7 预览版 2是NET 7 的第二个预览版,此版本包括对 RegEx 源生成器的增强、知识兔将 NativeAOT 从实验状态转移到运行时的进展,知识兔以及对“dotnet new”CLI 的一系列重大改进经验。这些位可供您立即获取并开始尝试新功能!

微软.NET运行库合集

新增功能

在编译时使用源生成器而不是在运行时使用较慢的方法来构建专门的 RegEx 模式匹配引擎。

利用 SDK 改进,分享全新的简化选项卡完成体验,知识兔以便在运行时探索模板和参数。dotnet new

不要削减你的兴奋,只是你的应用程序,准备用你自己的创新解决方案尝试 NativeAOT。

  Preview 2 版本现在分享以下功能。

  引入新的正则表达式源生成器

您是否曾经希望拥有针对您的特定模式优化的专用正则表达式引擎所分享的所有巨大好处,而无需在运行时构建此引擎的开销?

知识兔很高兴地宣布包含在预览版 1 中的新正则表达式源生成器。它带来了知识兔编译引擎的所有性能优势,而无需启动成本,并且知识兔它具有其他优势,例如分享出色的调试体验以及修剪-友好的。如果知识兔您的模式在编译时是已知的,那么新的正则表达式源生成器就是要走的路。

为了开始使用它,您只需要将包含类型转换为partial1,并声明一个带有返回优化对象的RegexGenerator属性的新部分方法,就是这样!Regex源代码生成器将为您填充该方法的实现,并在您更改模式或传入的其他选项时自动更新。这是一个示例:

public class Foo{  public Regex regex = new Regex(@"abc|def", RegexOptions.IgnoreCase);  public bool Bar(string input)  {    bool isMatch = regex.IsMatch(input);    // ..  }}

public partial class Foo  // <-- Make the class a partial class{  [RegexGenerator(@"abc|def", RegexOptions.IgnoreCase)] // <-- Add the RegexGenerator attribute and pass in your pattern and options  public static partial Regex MyRegex(); //  <-- Declare the partial method, which will be implemented by the source generator  public bool Bar(string input)  {    bool isMatch = MyRegex().IsMatch(input); // <-- Use the generated engine by invoking the partial method.    // ..  }}

就是这样。请尝试一下,如果知识兔您有任何反馈,请告诉知识兔。


下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载