C#9 是几天前正式宣布的。一种新的语言特性是“目标类型的新表达式”,感觉在用法上与
var
非常相似。比较以下声明,我很好奇哪个性能更高(如果有的话),以及对于不同的上下文应该首选哪种语法。
var person = new Person()
vs 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 代码。它们只是告诉编译器要初始化哪种类型的两种不同方式;它们与运行时性能没有任何关系。