c# – 对象文字实例化比设置属性更快吗?

前端之家收集整理的这篇文章主要介绍了c# – 对象文字实例化比设置属性更快吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> .NET object creation,whats faster?4个
给出以下示例,一个客观上比另一个更好/更快/更安全?对象实例化应该是实践中最好的做法吗?

这在哪里不合适?

  1. class Person
  2. {
  3. public string name;
  4. public int age;
  5. }
  6. void MakePeople()
  7. {
  8. Person myPerson = new Person();
  9. myPerson.name = "Steve";
  10. myPerson.age = 21;
  11.  
  12. Person literalPerson = new Person { name = "John",age = 22 };
  13. }

解决方法

不,它不是更快或更慢.这是相同的.

编译器将对象初始化器转换为构造函数调用,然后设置这些属性.

  1. Person literalPerson = new Person { name = "John",age = 22 };

转向:

  1. Person myPerson = new Person();
  2. myPerson.name = "John";
  3. myPerson.age = 22;

你应该使用更加可读性和您同意的团队.

猜你在找的C#相关文章