C#中的属性get和set到底是什么意思

privateinta;privateintb{get{xxx}set{xxx}}变量a还正常,b明显不合常理么,有什么作用,应该怎么使用?还有,在set中总是有一个va... private int a;
private int b
{ get{xxx} set{xxx} }
变量a还正常,b明显不合常理么,有什么作用,应该怎么使用?
还有,在set中总是有一个value,但是在哪里都没有定义它,这个value又是干什么的呢
展开
 我来答
就烦条0o
2016-01-03 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

get是给属性赋值,set是取属性的值。

get、set用法:

一是隐藏组件或类内部的真是成员;

二是用来建立约束的,比如,实现“有我没你”这种约束;

三是用来响应属性变化事件,当属性变化是做某事,只要写在set方法里就行。

当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取标志记为关键字get,而要修改属性的值的读写符标志记为set。

下面是示例代码:

public class Student 

private string name 
public string Name 

set{name=value;}//这里是给私有属性name赋值 
get{return name;}//这里取出私有属性name的值 

}
sq_zhuyi
2012-08-16 · TA获得超过680个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:1008万
展开全部
get和set是C#定义属性的规范,看以下示例:
public class Person
{
private string _name;
public string Name
{
get { return _name; } //可以通过 Person的实例来访问Name,返回私有变量_name的值
private set { _name = value; }//不允许外部赋值,只能在Person内部赋值,value就是赋过来的值
}
}
追问
在你上面的例子上加一句,比如说:_name="12345";那是不是value就是12345了?
追答
这个Name属性指向了私有变量_name,_name的值就是Name的值,但12345跟private set { _name = value; }中的value不是一回事,这个value只来自赋值,比如 person.Name="abcd" 那value就是指"abcd"了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sulei1000
2012-08-16 · TA获得超过161个赞
知道答主
回答量:185
采纳率:16%
帮助的人:51.7万
展开全部
private int a;是类变量

private int b
{ get{xxx} set{xxx} }

是类属性

value表示这个属性本身
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzh7906
2012-08-16
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
这是C#的一个语法规则!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uc...9@163.com
2012-08-21
知道答主
回答量:2
采纳率:0%
帮助的人:3155
展开全部
不知道你学过java没有,不就是对象封装吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式