C# 对象初始值设定项。这比旧方法快吗?
哪个更快?为什么C# 对象初始值设定项。这比旧方法快吗?,c#,.net,properties,C#,.net,Properties,哪个更快?为什么 Person person = new Person(); person.FirstName = "Scott"; person.LastName = "Guthrie"; person.Age = 32; 关于 好吧,后者是前者的语法糖。应该没有区别。集合初始值设定项符号将在编译时“扩展”到第一个符号,因此不应该有运行时成本。这绝对是一个错误的问题*。您应该问,‘以下哪一项更具可读性?’这种微观基准测试导致代码非常模糊且难以维护(尽管在这种特殊情况下可能不是这样) 例外情
Person person = new Person();
person.FirstName = "Scott";
person.LastName = "Guthrie";
person.Age = 32;
关于
好吧,后者是前者的语法糖。应该没有区别。集合初始值设定项符号将在编译时“扩展”到第一个符号,因此不应该有运行时成本。这绝对是一个错误的问题*。您应该问,‘以下哪一项更具可读性?’这种微观基准测试导致代码非常模糊且难以维护(尽管在这种特殊情况下可能不是这样)
- 例外情况是,您分析了代码,发现此构造发生在非常热的代码路径中。但是,如果您这样做了,您也会对这两种方法进行基准测试,并自己找到答案:-)
Person person = new Person { FirstName="Scott", LastName="Guthrie", Age=32 };