c#中的get和set的用法,希望结合代码解释!

刚入门很的不理解,希望各位详细讲解(含代码)... 刚入门很的不理解,希望各位详细讲解(含代码) 展开
 我来答
百度网友1bc78796d
2010-05-17 · TA获得超过201个赞
知道答主
回答量:27
采纳率:0%
帮助的人:16.1万
展开全部
一般面向对象编程语言都要求成员变量不能直接暴露给外部访问,如下:
public class A
{
public int Age; //这是不好的,待会有程序员可能把-1赋给Age
}
为了防止乱赋值,C#设计了一个属性机制,要求把成员变量设为私有,在通过属性来控制成员变量的读写,如下:
public class B
{
private int age; //私有成员变量
public int Age //age的属性
{
get{ return age; } //读取器
set{ //写入器
if(value>0)
age = value; //value是准备写入的值
}
}
}
这样Age就像保安一样,挡在age的前面。访问age的时候需要通过Age许可,如下:
B b = new B();
b.Age = -1; //这是不行的,-1被带入value,value<0,判断不成立
b.Age = 10; //这是可行的
wxdailm
2010-05-17 · 超过14用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:33.9万
展开全部
C#中的get和set用法

get是用来取值的
set是用来赋值的
如:
namespace MapClassLibrary.Models
{

public class Class1
{
public Class1()
{

}
private string type;

public string Type
{
get { return type; }
set { type = value; }
}
}
}

首先是赋值
Class1 c1=new Class1();
c1.Type="String类型";

然后是取值
string str=c1.Type;
MessageBox.Show(str.ToString());
结果就会输出“String类型”

请问一下你想要的是这种效果吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zszts520
2010-05-17 · 超过15用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:55.5万
展开全部
VS 2005 以前的版本
private string _str;

public string Str
{
get
{
return _str;
}

set
{
_str = value;
}
}

Vs 2008 可以按照上面的写,也可以如下
public string Str
{
get; set;
}

无非就是声明一个属性储存值,get 就是得到这个属性的指,有了get之后你才能从Str 里面拿值,有了set 才能为这个Str 赋值,set的那个value是内置的一个变量,指的就是外界传入的值.

public void Test()
{
Str = string.empty;这时string.empty就是那个value,可以看作调用了set方法为Str赋值。
Consloe.write(str);这时就可以看作调用get方法从Str中取值。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
建暮灬0P
2010-05-17 · 超过24用户采纳过TA的回答
知道答主
回答量:148
采纳率:0%
帮助的人:47.6万
展开全部
c#中的set和get是针对C#中专门独有的属性来说的。C#中分字段和属性,字段就是一个私有的数据成员,而属性就是专门为这个字段而设计的,目的就是为了保护数据的私有化。
字段定义:private int i;
属性定义:public int I
{
set
{
i=value;//这个value就是我们所要赋的值,系统自动识别
}
get
{
return i;//要调用I的值,就返回字段i的值
}
}
set就是为字段i赋值,get就是得到字段i的值。但是我们在程序中调用的是I,而不是i,因为只能看见I,看不见i。在set和get语句中还可以加入函数语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日拱一卒行则将至
2010-05-17 · TA获得超过508个赞
知道小有建树答主
回答量:707
采纳率:0%
帮助的人:313万
展开全部
就是 一个字段的属性 生成器

比如 你的名字 YourName
你可以 定义一个 字段 myname
它的get 和 set 方法就是 读时用 get 写入时用 set
public string MyName
{
set
{
myname = value ; // MyName ="wang ";
}
get
{
return myname; // 返回 myname 这个字段所保存的值
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式