对象初始化器.它比旧方法更快吗?

Hor*_*ges 0 .net c# properties

哪个更快,为什么?

Person person = new Person();
person.FirstName = "Scott";
person.LastName = "Guthrie";
person.Age = 32;
Run Code Online (Sandbox Code Playgroud)

的...

Person person = new Person { FirstName="Scott", LastName="Guthrie", Age=32 };
Run Code Online (Sandbox Code Playgroud)

tsi*_*mon 5

这绝对是一个错误的问题*.您应该问,'以下哪一项更具可读性?' 这种微基准测试导致代码非常模糊和难以维护(尽管可能不在这种特定情况下).

  • 例外情况是您已经分析了代码并发现此构造发生在非常热的代码路径中.但是,如果你已经这样做了,你也会对这两种方法进行基准测试,并找到答案:-).