You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中省略类型的new对象实例化语法的正式名称是什么?

C# 目标类型new表达式说明

特性名称

你看到的这种实例化语法正式名称为 目标类型new表达式。

支持版本

该特性是C# 9.0版本引入的语法糖,对应支持.NET 5及更高版本的SDK。

特性规则

当实例化对象的赋值目标类型已经可以被编译器明确推断时,你可以省略new关键字后的类名,编译器会自动匹配目标类型完成实例化,避免重复书写类型名称。
你给出的示例代码:

using StreamWriter file = new("WriteLines2.txt", append: true);

等价于传统的完整写法:

using StreamWriter file = new StreamWriter("WriteLines2.txt", append: true);

该特性仅为编译期语法糖,编译后的底层执行逻辑和完整书写类型的实例化代码完全一致,不会带来运行时性能差异。

常见适用场景

  • 明确标注类型的变量声明且直接赋值的场景
  • 给已知类型的类字段、属性赋值的场景
  • 调用方法时,对应形参类型已明确的传参场景
  • 返回值类型已明确的方法return语句场景

如果编译器无法唯一确定要实例化的类型,会抛出编译错误,此时补全new后的类型名即可解决。

内容的提问来源于stack exchange,提问作者CodeRonnie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:09:02