【发布时间】:2020-05-21 17:19:21
【问题描述】:
C#9 几天前是officially announced。一种新的语言特性是“目标类型的新表达式”,在使用上感觉与var 非常相似。比较以下声明,我很好奇哪一个性能更高(如果有的话),以及在不同的上下文中应该首选哪种语法。
var person = new Person() 与 Person person = new().
对于收藏:
var people = new[] {
new Person(),
new Person(),
new Person(),
}
对
var people = new Person[] {
new(),
new(),
new(),
}
【问题讨论】:
-
你所说的性能是什么意思,它是一个编译器特性,对运行时没有任何影响
-
我怀疑在生成的 IL 方面有什么真正的区别
-
@MatJ 我在网上找到的关于
var的所有内容都将其与显式类型声明进行比较,或者要求在成员声明中允许使用它。这个 C#9 语法很新,所以我想我会问这个问题。我也不知道编译器是如何工作的,所以我不知道它是否有运行时影响
标签: c# var variable-declaration