抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
  • 记录结构和结构上的 with 表达式(record struct Point(int X, int Y); 和 var newPoint = point with { X = 100 };)
  • Global using 指令:global using 指令可避免在程序中的许多文件内重复相同的 using 指令。
  • 改进的明确赋值:明确的赋值和为 null 性分析可以更好地处理常见模式,例如 dictionary?.TryGetValue(key, out value) == true
  • 常数内插字符串:由常数组成的内插字符串本身也是常数。
  • 扩展的属性模式:属性模式允许访问嵌套成员 (if (e is MethodCallExpression { Method.Name: "MethodName" }))
  • 密封记录 ToString:记录可以继承具有密封 ToString 的基础记录。
  • 增量源生成器:通过分解源生成管道和缓存中间结果,改进大型项目中的源生成体验。
  • 混合析构:析构赋值和析构声明可以混合在一起 ((existingLocal, var declaredLocal) = expression)
  • 方法级 AsyncMethodBuilder:用于编译 async 方法的 AsyncMethodBuilder 可以在本地重写。
  • line span 指令:允许源生成器(如 Razor)使用指定目标范围的 #line 指令 (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName") 对行映射进行精细控制。
  • Lambda 改进:允许对 lambda 使用属性和返回类型;lambda 和方法组具有自然委托类型 (var f = short () => 1;)
  • 内插字符串处理程序:使用内插字符串处理程序类型,可在赋值和调用中高效设置内插字符串的格式。
  • 文件范围的命名空间:具有单个命名空间的文件不需要额外的大括号或缩进 (namespace X.Y.Z;)
  • 无参数结构构造函数:支持结构类型的无参数构造函数和实例字段初始化表达式。
  • CallerArgumentExpression:使用此属性可捕获作为字符串传递给方法的表达式。