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

前端之家收集整理的这篇文章主要介绍了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;

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

猜你在找的C#相关文章