class Person
{
private string fname;
private string lname;
public string F
{
get { return fname; }
set { fname = value; }
}
public string L
{
get { return lname; }
set { lname = value; }
}
public Person(string fname, string lname)
{
this.fname = fname;
this.lname = lname;
}
}
哪个更好,在构造函数中使用属性,还是保持它在上面?为什么?
P.S。我正在使用一个使用属性的函数,这就是我没有使用自动属性的原因。
答案 0 :(得分:3)
如果你想要一个不可变的类,请执行以下操作:
class Person
{
public string F { get; private set; }
public string L { get; private set; }
public Person(string f, string l)
{
F = f;
L = l;
}
}
对于一个可变类,请执行以下操作:
class Person
{
public string F { get; set; }
public string L { get; set; }
}
并像这样使用它:
Person p = new Person { L = "laugh", F = "fun" };
答案 1 :(得分:1)
这并不重要,在您的情况下,我会使用自动实现的属性,因为您没有在getter或setter中执行任何工作。
class Person
{
public string F { get; set; }
public string L { get; set; }
public Person(string fname, string lname)
{
F = fname;
L = lname;
}
}
答案 2 :(得分:0)