【发布时间】:2020-10-29 07:33:16
【问题描述】:
可能重复:
Best Practice: Initialize class fields in constructor or at declaration?
大多数时候,我看到像这样初始化变量的方式
public class Test
{
private int myIntToInitalize;
public Test()
{
myIntToInitalize = 10;
}
}
在我看来,这是初始化变量的最通用方式。书籍、博客以及 .NET 的内部实现中的大部分代码都与我的示例等效。
最近看到有人直接做初始化,所以没有在构造函数中设置值。
public class Test
{
private int myIntToInitalize = 10;
}
从观点上看,初始化和声明变量或在构造函数中初始化变量没有区别。
除了最佳实践和代码行的长度之外,直接初始化变量的好处在哪里,是否存在细微差别?
【问题讨论】:
-
我认为为此使用构造函数是完全多余的。为什么要使事情复杂化并编写更多冗余代码?我通常仅在无法直接完成时才在构造函数中进行初始化,例如当您必须将一些参数传递给变量初始化所依赖的构造函数时。否则:私有 int myIntToInitalize = 10;不要使事情过于复杂,使它们尽可能简单。更少的代码 - 更好!!!
标签: c# initialization