C#中的get;set;

这是C#中的属性 

public string UserName
{
get { return this._username; }
set { this._username = value; }
}

通俗来讲..get是获取值 set是设置值

比如这句:get { return this._username; }
如果调用这个get方法 就能获得方法return的 this._username(返回的值)
调用方法:Console.Write(对象.UserName);(输出该属性的值)

比如这句:set { this._username = value; }
如果调用这个set方法 就可以重新设置username的值 value就是你新设置的值
调用方法:对象.UserName="新值";(为该属性附新值)

个人理解:
1.在封装数据库字段的时候非常有用,相信大家都这么用。
2.你可以吧UserName当成一个这个类的一个属性,这个属性由字段_username的值确定,也可能不是_username,而是经过_username变化的。你可以在GET、SET中作相应的处理。比如这样:

public string UserName
{
get {
if(string.IsNullOrEmpty(_username))
return ERRORCODE;
return this._username;
}
set {
if(string.IsNullOrEmpty(_username))
this._username = defaultusername;
this._username = value;
}
}

所以,封装以后,比没有封装更加方便。如果你要做条件判断、转换等 操作,在GET、SET你做会更方便。而且还保护了原字段。
假设_username是数据库字段,如果程序员不想公开这个属性,而是做一些变换,这样数据安全性更高。
posted @ 2013-03-17 10:32  在路上的人  阅读(641)  评论(0编辑  收藏  举报