这两个代码有什么区别?
class SomeClass
{
SomeType val = new SomeType();
}
和
class SomeClass
{
SomeType val;
SomeClass()
{
val = new SomeType();
}
}
首选哪种方法?
最佳答案
它们之间几乎没有区别。在这两种情况下,字段的分配都将发生在构造函数中。但是,这与基类构造函数的发生方式有所不同。采取以下代码:
class Base
{
public Base()
{
}
}
class One : Base
{
string test = "text";
}
class Two : Base
{
string test;
public Two()
{
test = "text";
}
}
在这种情况下,基类构造函数将在类中的字段赋值后被调用One
, 但在类作业之前 Two
.
关于c# - 这种初始化方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475420/