是否有这样的构造和分配类的属性之间显著性能差异(在运行时和/或编译时):构造基于对象初始化
Employee currentUser = new Employee();
currentUser.Name = "Bob";
或这样的:
Employee currentUser = new Employee() { Name = "Bob" };
我的实际例子并不那么简单,该类的属性实际上分配给了一些long linq表达式。
我搜索谷歌和堆栈溢出的答案,但我只发现有关最佳做法,何时使用任何方法,而不是任何性能相关的问题。
如果我问一个愚蠢的问题,提前道歉。
你的IL表明有一个区别 - 在“旧方法”中,变量在属性设置器之前被分配*。在对象初始化形式中,“ldloc.2,stloc.0”表示将临时变量复制到“f”中。查看我的答案了解更多详情。 –
谢谢乔恩。你的洞察力永远是新鲜的。我可以看到你现在的意思。 – Aliostad