C# Var 与目标类型的新
C# Var vs Target-typed new
C#9 是 officially announced 几天前。一种新的语言特性是 "target-typed new expressions",它在用法上与 var
非常相似。比较以下声明,我很好奇哪个性能更高(如果有的话),以及对于不同的上下文应该首选哪种语法。
var person = new Person()
对比 Person person = new()
.
对于集合:
var people = new[] {
new Person(),
new Person(),
new Person(),
}
对
var people = new Person[] {
new(),
new(),
new(),
}
var person = new Person()
和 Person person = new()
将编译为相同的 IL 代码。它们只是告诉编译器要初始化哪种类型的两种不同方式;它们与运行时性能没有任何关系。
C#9 是 officially announced 几天前。一种新的语言特性是 "target-typed new expressions",它在用法上与 var
非常相似。比较以下声明,我很好奇哪个性能更高(如果有的话),以及对于不同的上下文应该首选哪种语法。
var person = new Person()
对比 Person person = new()
.
对于集合:
var people = new[] {
new Person(),
new Person(),
new Person(),
}
对
var people = new Person[] {
new(),
new(),
new(),
}
var person = new Person()
和 Person person = new()
将编译为相同的 IL 代码。它们只是告诉编译器要初始化哪种类型的两种不同方式;它们与运行时性能没有任何关系。