C# 9 表达式、运算符与语句全解析
目标类型的 new 表达式(C# 9)
在 C# 9 中,目标类型的 new 表达式是减少代码重复的一种有效方式。例如:
StringBuilder sb1 = new();
StringBuilder sb2 = new ("Test");
这与下面的代码是完全等价的:
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder ("Test");
其原理是,如果编译器能够明确推断出类型,那么在调用 new 时就可以不指定类型名称。这种表达式在变量声明和初始化位于代码不同部分时特别有用,比如在构造函数中初始化字段:
class Foo
{
System.Text.StringBuilder sb;
public Foo (string initialValue)
{
sb = new (initialValue);
}
}
此外,在调用方法时也可以使用:
MyMethod (new ("test"));
void MyMethod (System.Text.StringBuilder sb) { ... }
<
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



