这两种property
定义有什么区别?
第一
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
第二
public class Person
{
private string firstName;
private string lastName;
public string FirstName
{
get { return this.firstName; }
set { this.firstName = value;}
}
public string LastName
{
get { return this.lastName; }
set { this.lastName = value;}
}
}
答案 0 :(得分:1)
第二个解决方案与第一个解决方案相同,只是它更加扩展。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
这是创建公共值的默认方式,但是如果您希望在设置或获取值时执行任何操作,则使用第二个解决方案,该解决方案与第一个解决方案相同但扩展。
例如,如果您只想使用小写字母,则可以使用以下代码:
public class Person
{
private string firstName;
private string lastName;
public string FirstName
{
get { return this.firstName; }
set { this.firstName = value.ToLower();}
}
public string LastName
{
get { return this.lastName; }
set { this.lastName = value.ToLower();}
}
}
答案 1 :(得分:0)
在某些情况下,您可能需要在设置和检索值之前添加一些额外的逻辑,在这种情况下,您提到的第二种方式将有所帮助
就像你想检查长度或分配一些会话值等
set
{
ViewState["SomeStr"] = value;
}