日期:2014-05-20  浏览次数:20903 次

新手:c#为什么要设置get块和set块
最近因为毕业设计的原因学了C#
感觉和java的语法结构挺像
不过在某些方面确实挺强大

但是我一直不明白为什么要在定义属性的时候
要以get块和set块的形式给出
而且要求至少包含一个块
为什么这样设计啊?
用函数形式不好么?
这样做有什么好处啊?
这样做基于什么考虑啊?
节省资源?提高性能?

谢谢各位xdjm帮忙!

------解决方案--------------------
先不要问那么多为什么,学懂了再说,这是基本语法
------解决方案--------------------
这个问题是这样的

我能不能问一下 你为什么要起这个id呢

为什么不是Xpath?或者Xman?:)
------解决方案--------------------
呵呵,经典回答!有些东西没得讲的,自己多看看,想想!
------解决方案--------------------
如果你一定要问set,get语法为什么存在,那就和上面回答的一样了。人家就这么定义的语法。如果是问为什么要用属性。这个你用c++的,应该了解为什么要有set,get。和set,get的存在原因一样,为了日后维护方便。写法不同而已。
------解决方案--------------------
一个是为了数据的安全性!就是程序不可以直接访问数据,而是调用属性
------解决方案--------------------
http://community.csdn.net/Expert/topic/5246/5246349.xml?temp=.1297724

这里写的很是详尽。
------解决方案--------------------
属性结合了字段和方法的多个方面。对于对象的用户,属性显示为字段,访问该属性需要完全相同的语法。对于类的实现者,属性是一个或两个代码块,表示一个 get 访问器和/或一个 set 访问器。
------解决方案--------------------
我也在学,希望大家能多帮帮我:)
------解决方案--------------------
属性具有多种用法:它们可在允许更改前验证数据;它们可透明地公开某个类上的数据,该类的数据实际上是从其他源(例如数据库)检索到的;当数据被更改时,它们可采取行动,例如引发事件或更改其他字段的值。


------解决方案--------------------
当然你也可以使用方法 setXXX(Type value) 跟 getXXX(), JAVA里面就是这么干的, 而且编译后的中间代码也是转换成这种形式, 不过感觉C#里面的属性用起来比较方便而且代码比较优雅