我应该明确设置属性吗?

我应该明确设置属性吗?

问题描述:

我们有类:我应该明确设置属性吗?

public class Test 
{ 
    public int A { get; set; } 
} 

然后我们创建这个类的一个实例:

Test test = new Test(); 

A属性应该是0,当我们创建一个对象。我是否应该在Test的构造函数中将此属性设置为0

public Test() 
{ 
    A = 0; 
} 
+0

是的,在类构造函数中设置初始值是一种很好的做法。 – Shazi

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。所以如果你需要将其设置为不同的价值,这将是正确的做法。