C# · 12月 27, 2021

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

这个问题在这里已经有一个答案:> .NET object creation,whats faster?4个
给出以下示例,一个客观上比另一个更好/更快/更安全?对象实例化应该是实践中最好的做法吗?

这在哪里不合适?

class Person{ public string name; public int age;}void MakePeople(){ Person myPerson = new Person(); myPerson.name = “Steve”; myPerson.age = 21; Person literalPerson = new Person { name = “John”,age = 22 };}解决方法 不,它不是更快或更慢.这是相同的.

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

Person literalPerson = new Person { name = “John”,age = 22 };

转向:

Person myPerson = new Person();myPerson.name = “John”;myPerson.age = 22;

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