为什么C#类中用属性,而不用公共变量? 我看了很多程序都是用属性,为何不用公共变量,曾经看过一篇文章介绍此区别,用公共变量速度反而快,用属性还是用公共变量我一直都没搞明白,希望各位高手帮我解惑,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 面向对象便于封装...即public string Name{ get; protected|... set;}属性里面可以有自己的逻辑,比如加判断、转换值如private StringBuilder str = new StringBuilder();public string Str{ get{return str.ToString();} set {str.Append(value);}} 之前一直用VB写程序,最近才学C#,是一直没整明白这个区别,有劳各位解答,现明白了一点,谢谢 用公共变量速度快,就是因为少了中间处理的环节.但是也因此更直接地对类的内容进行了操作和控制,比起属性的使用来说,相对的安全就变低了.属性的好处,就是对存入公共变量的值可以进行处理.如果觉得该值不合法,可以就地变换或者直接提出警告.只不过多花了点点时间,所以有一点点慢.但对于该类所生成的对象的使用安全,还是有相当多的好处的.至少运行时,因公共变量值的错误而产生的问题会大大减少.公共变量的好处,就是快.但由于这种用法必须开放变量为PUBLIC,对象的调用者就可以直接修改其值,值的内容是否合法,运行中是否会出错,就没了保障.所以,一般不建议,因为会降低类的可重用性.但偶尔会有些情况,我们根本没必要去使用什么属性,只要用最简单的方法来实现就可以的情况,我们还是可以考虑使用公用变量的.取舍,都是需要根据具体情况来判断的.想获得某方面的优势,都是通过对另一方面某种程度的牺牲换来的.但并不是绝对的谁好,谁不好. 一是对字段进行封装,这是面向对象的思想二是字段在c++中是通过setvalue(),getvalue()方法来操作,在c#中可以直接用=做赋值运算,方便 多个系统模拟登陆再跳转的问题 C#反射创建对象 怎样把十六进制内容写入文件? 如何控制SHOW出来的窗体只有一个,不是SHOW 模式窗体 问题 为了开发基于internet的程序,使用.NET Remoting,但是... 问一个关于DropDownList的一个问题 在windows服务中的timer控件好象没起作用? C#菜鸟问题,思想太笨,想不出来。大家进来帮帮我,谢谢~~~来者有分。。 在NetFrame中如何利用OpenFileDialog来选取目录? 请教关于组合键的小小问题? 帮我看看这段,删除那段可以清除登录才能更新?
便于封装...
即
public string Name
{
get;
protected|... set;
}
属性里面可以有自己的逻辑,比如加判断、转换值如
private StringBuilder str = new StringBuilder();public string Str
{
get{return str.ToString();}
set {str.Append(value);}
}
二是字段在c++中是通过setvalue(),getvalue()方法来操作,
在c#中可以直接用=做赋值运算,方便