我应该明确设置属性吗?
问题描述:
我们有类:我应该明确设置属性吗?
public class Test
{
public int A { get; set; }
}
然后我们创建这个类的一个实例:
Test test = new Test();
的A
属性应该是0
,当我们创建一个对象。我是否应该在Test
的构造函数中将此属性设置为0
?
public Test()
{
A = 0;
}
答
public class Test
{
public A { get; set; }
}
由于您没有为变量A
指定数据类型,因此不起作用。
我假设你的意思是:
public class Test
{
public int A { get; set; }
}
默认A
为0时Test
一个新的实例的实例。
作为附加的注释,一个构造函数初始化变量的好地方,但是在这种情况下,我不会使用它作为一个接入点变量设置为0时,编译器会自动处理,对你。
答
假设你的意思是,
public int A { get; set; }
不,你不需要设置的默认值。编译器不会抱怨什么。
如果您仍然想要,请将其设置为清晰的代码。它可以帮助读者理解,您显然希望初始值为零并消除任何猜测工作。如果0具有商业意义或代码清晰,人们通常会这样做。
答
是的,这是目前正确的做法。在C#6中,您可以直接设置它。
public int A { get; set; } = 0;
原因你可以有一个私有字段(支持字段)的初始设置为0。
原因认为int是默认值为0。所以如果你需要将其设置为不同的价值,这将是正确的做法。
是的,在类构造函数中设置初始值是一种很好的做法。 – Shazi