0

这两种定义有什么区别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;}
  }
}
4

2 回答 2

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();}
  }
}
于 2013-07-01T10:31:05.900 回答
0

在某些情况下,您可能需要在设置和检索值之前添加一些额外的逻辑,在这种情况下,您提到的第二种方式会有所帮助

比如如果你想检查长度或分配一些会话值等 set { ViewState["SomeStr"] = value; }

于 2013-07-01T10:23:27.163 回答