假设我构成一个对象,其属性,需要从在方法确定的其它值,例如转换:(其中,此在C#中,类的属性是并行还是按顺序初始化?
var var1;
var var2;
//do stuff with var1 and var2
MyClass myClass = new MyClass
{
Property1 = var1,
Property2 = var2
};
如果MyClass
属性都评估,并设置在同一时间是可能的),我认为这可能是更有效的下放是设置var1
和var2
分离方法的操作,就像这样:
MyClass myClass = new MyClass
{
Property1 = SetProperty1(),
Property2 = SetProperty2()
}
private static object SetProperty1()
{
//do stuff
}
private static object SetProperty2()
{
//do stuff
}
但是,如果每个属性是为了评估(如一个步进时看到通过这样的代码),任何这样的好处从爆发出新的方法就失去了。
编辑对象的属性是否同时初始化,或按顺序?
他们的顺序初始化指定的任务。 –
计算机并不擅长处理事务,除非您希望您的对象由多个线程设置。 – Enigmativity
@Enigmativity计算机*非常善于同时处理事务。即使只有一个线程,它也可能花费很少的时间只能一次执行单个操作。它所做的就是努力确保同时运行各种操作的行为无法与完全按顺序运行时会发生的情况明显区分开来,从而允许程序员编写代码*就像程序依次运行所有内容一样,因为编写并发代码非常困难*对于程序员来说*(正确),即使它对计算机来说非常简单*。 – Servy