C#构造函数中{get;set;}的作用?

C#构造函数,在用private定义了一个变量以后,有的用{get;set;},有的用{get,privateset;}有的都没有,这个有什么区别?publicclass... C#构造函数,在用private 定义了一个变量以后,有的用{get;set;},有的用{get,private set;}有的都没有,这个有什么区别?
public class Racer
{
private string id;
private string FirstName { get; private set; }
private string LastName{ get; private set; }
private string Country{ get; private set; }
private int Wins { get; private set; }
public Racer(string id,string firstName,string lastName,string country,int wins)
{
this.id = id;
this.FirstName = firstName;
this.LastName = lastName;
this.Country = country;
this.Wins = wins;
}
}
展开
 我来答
KrisKing0
推荐于2016-02-07 · TA获得超过128个赞
知道答主
回答量:35
采纳率:0%
帮助的人:30.6万
展开全部
有getset的不叫变量,叫属性,是对变量的一种封装。
属性前面修饰符是private,set也是private,感觉就没啥用。
一般都是前面用public,set用private,表示别人只能获取,只有自己可以修改

除此限制访问之外,还有就是属性的getset方法可以有方法体{},在里面可以写些业务代码,但不推荐写复杂的业务在里面。总之,要把属性当方法,而不要当变量。
lihongwei41
推荐于2018-04-13 · TA获得超过4万个赞
知道大有可为答主
回答量:2.5万
采纳率:0%
帮助的人:6004万
展开全部
有getset的不叫变量,叫属性,是对变量的一种封装。
属性前面修饰符是private,set也是private,感觉就没啥用。
一般都是前面用public,set用private,表示别人只能获取,只有自己可以修改

除此限制访问之外,还有就是属性的getset方法可以有方法体{},在里面可以写些业务代码,但不推荐写复杂的业务在里面。总之,要把属性当方法,而不要当变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ben
2015-04-04 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
可以参考这篇文章.
里面有详细的说明
http://www.benlampson.cn/post/1947f0_1441877
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式