在C#中初始化公共属性的最佳方法是什么?

时间:2010-11-15 06:09:39

标签: c# oop class constructor properties

我需要给我的属性初始值,我想知道是否有比使用构造函数更简单的方法。

5 个答案:

答案 0 :(得分:2)

您使用的是自动实施的属性吗?值类型属性将初始化为其默认值。引用类型将初始化为null。

如果你希望他们将它们初始化为其他我认为最好的选择是在构造函数中设置它们。

如果您没有使用自动实现的属性,则可以在声明它们的位置初始化它们。

记住order in which the objects fields and constructors are initialized.

也很有用

答案 1 :(得分:2)

如果您正在利用自动属性,那么构造函数是最简单的方法。如果不是,那么您的成员变量可以定义默认值。

private string _someString = "Hello.";

但是,你必须自己定义getter和setter。

public string SomeString
{
    get { return _someString; }
    set { _someString = value; }
}

这不仅仅比在构造函数中定义默认值更简单。

答案 2 :(得分:2)

如果你只想初始化属性值,那么构造函数就足够了我不明白为什么你认为它们不简单。

但是如果你愿意,你可以这样做,你可以像这样初始化变量:

int _myProperty = 5;
public int MyProperty
{
  get{ return _myProperty ;}

 set { _myProperty=value; }
}

答案 3 :(得分:2)

我喜欢这个有点不同的想法。如果值是用于创建实例的必需,则它必须是构造函数的参数。

但是,如果值为可选,那么通过属性设置就可以了。

答案 4 :(得分:1)

好的构造函数最适合这样做。你怎么能调用一种方法呢。

也检查以下链接 Initializing C# auto-properties