如果您有这样的对象:
public class Foo { private int _id; public int id { get { return _id; } set { _id = value; } } private string _name; public string name { get { return _name; } set { _name = value; } } }
并且您希望将id初始化为-1并将其命名为String.Empty,最佳做法是什么?(以及为什么)
这样做:
private int _id = -1
要么
在构造函数中设置_id = -1和name = String.Empty?
这不仅仅是一个风格问题.只有少数几个案例是功能性问题
当你有许多构造函数,它们都将字段初始化为相同的值.此时您有冗余代码,应该重构构造函数或使用字段初始化程序.
如果它取决于同一类层次结构中另一个字段的值,请不要使用字段初始值设定项.在部分类的绝对中,结果是可预测的,但仍然可以让人们循环.