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