我前一阵子(我想再次确认)发现,如果您声明一个类级别的变量,则在调用该类的构造函数或装入之前,不应调用它的构造函数。原因是性能-但是还有其他原因要这样做吗?此规则是否有异常(exception)?

即:这是我根据我认为的最佳实践所做的事情:

public class SomeClass
{
   private PersonObject _person;

   public SomeClass()
   {
      _person = new PersonObject("Smitface");
   }
}

反对:
public class SomeClass
{
   private PersonObject _person = new PersonObject("Smitface");

   public SomeClass()
   {

   }
}

最佳答案

如果在构造函数之外设置变量,则没有错误处理(处理)可用。虽然在您的示例中这没有什么区别,但是在许多情况下,您可能希望进行某种错误处理。在这种情况下,使用您的第一个选项是正确的。

Nescio讨论了如果存在一些构造函数故障,这会对您的应用程序产生什么影响。

因此,我总是使用选项#1。

关于c# - 声明变量-最佳做法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/247837/

10-10 07:25