为什么这个c#代码只有get而没有set的,set不是还得什么什么=value呢吗

 我来答
iceser
推荐于2018-04-19 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:441万
展开全部
因为这个代码并未定义 set,所以这个属性乃只读属性,即只可以获取该属性的值,而不可以赋值。
同理,也可以为一个属性,只定义set,而不定义get,这样就成了只写属性,即只可以赋值,而不可以读取。
更多情况下,get/set 也可以为其指定修饰符(public/private/internal)等,对可访问性进行限制。
set 代码段,形同于如下的伪代码:
int a;
public int A;
{
set{ a = value;}
}

//伪代码
public void SetA( int value )
{
a = vlaue;
}

只不过调用方式,是对属性直接赋值,而不是调用方法。同时,value 这个参数名称,是所有属性赋值的内置参数,无法进行修改。
追问
你上边说的只写属性那个,他都没读取到这个属性,怎么对它赋值呢,刚学,比较乱,不好意思,还有后边您说的伪代码是怎么体现出来的呢,哪里是伪的
追答
只写属性的意思,只对它赋值,不取值。
因为取值和赋值,是两个独立的操作,其实是互相不影响的。
就拿一个变量来说:
int a;
a = 0; //赋值,这里并没有取值啊
int b = a; //取值,这里也没有对变量a赋值

我说的伪代码的意思是,形式上是那个意思。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-01-19
展开全部
这个属性是只读属性,不能写入值的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nnagou10
2015-01-21 · TA获得超过131个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:77万
展开全部
何必呢?现在这个版本都有自动属性了,定义的时候直接public string Message{get;set;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-01-19
展开全部
get 的意思这个字段只能只读,不能赋值
更多追问追答
追问
那set呢,什么等于value那什么意思呢
追答
value 其实就是你给它赋的值  message ="xxxxx"; set就是别的地方可以给这个message赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式