C# 封装 value

publicclass Student
{
privatestring name;

publicstring Name
{
get { return name; }
set { this.name = value; }
}
}
为什么会是value而不是其他什么,get的意思我懂
Student oneStudent = new Student();

oneStudent.Name = "Michael Jackson";
作为获取oneStudent.Name的值、
难道set就是为了给oneStudent.Name赋值吗?

回到最上面为什么回事this.name=value;为什么要用value这个词,求教

关键字 value 用在属性set中时类似于方法的输入参数。该关键词表示赋值给该属性的值。
比如你的例子中value即为'Michael Jackson'。如果是oneStudent.Name = "123",则value为"123"
当在一个int 的属性中时,比如:int Num{ set{ **** = value; } } 当 oneStudent.Num = 3时,value则为3

你可以如下认为,其实属性在内部就是这么处理的
public string Name()
{
return ***;
}
public void Name(string value)
{
**** = value;
}

public int Num()
{
return ***;
}

public void Num(int value)
{
**** = value;
}
mdsn有更详细的说明:http://msdn.microsoft.com/zh-cn/library/a1khb4f8(v=vs.110).aspx
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-07
为什么string定义的是字符串类型的,而int定义的是整型的
第2个回答  2013-05-07
set_Name(string 'value') cil managed
value就是set方法的参数
第3个回答  2013-05-06
这个是中间变量吧
相似回答