问题描述
1.谁能解释清楚字段和属性。。我看了几篇文章。云里雾里。2.Convert的显示转换咋没有tofloat?,和(double)Variant这种转换有何区别?
解决方案
解决方案二:
网上这么多资料,你都看不懂,我们说也没用Convert.ToSingle
解决方案三:
http://msdn.microsoft.com/zh-cn/library/ms173118(VS.80).aspx
解决方案四:
哎!!教训的好引用1楼的回复:
网上这么多资料,你都看不懂,我们说也没用Convert.ToSingle
解决方案五:
引用3楼的回复:
哎!!教训的好引用1楼的回复:网上这么多资料,你都看不懂,我们说也没用Convert.ToSingle
教训的好,楼主这种货色,可以去死了。。
解决方案六:
这种骂法也不对,每个人都有难处嘛.加油喔,楼主
解决方案七:
该回复于2012-03-31 10:20:05被版主删除
解决方案八:
下面结构图:类===(包含)====》字段+属性+方法。属性----(取设)---->字段方法----(取设)---->字段+属性
解决方案九:
照顾一下新手,每个人都有新手的时候,每个人对懂的定义不同,深挖一层,也许你也未必全懂。引用1楼的回复:
网上这么多资料,你都看不懂,我们说也没用Convert.ToSingle
解决方案十:
网上很多都是转载,都人云亦云的认同了,那么想要创新真的很难。
解决方案十一:
[方法]:是万能的,可能对[字段]+[属性]+[方法]随意调用。如果:要对private的[字段]执行(取设)操作。当然:用方法来写也行,只是:太麻凡了,于是:就出现了属性。是这种类型方法的简体版。--简体版:简写版//因专用来(取设[字段])所以大家就这种方法为属性,为什么大家叫属性呢。---因为这种方法都是为了改变对象的内部状态的。好比是改变对象的属性。字段,是对象的内部状态的表示。表示这个对象的情况,也可以说这个对象的状态。是组成对象的最小单位。以上:所谓个人的理解,就是说:书上找不到的,书上也绝对不会这样说的。个人理解:就是结合我自己的情况,对某一问题,作出最佳理解方式,不知这种方式是否合适你。
解决方案十二:
引用10楼的回复:
[方法]:是万能的,可能对[字段]+[属性]+[方法]随意调用。如果:要对private的[字段]执行(取设)操作。当然:用方法来写也行,只是:太麻凡了,于是:就出现了属性。是这种类型方法的简体版。--简体版:简写版//因专用来(取设[字段])所以大家就这种方法为属性,为什么大家叫属性呢。---因为这种方法……
thanks~
解决方案十三:
--太多错字了:[方法]:是万能的,可以对[字段]+[属性]+[方法]随意调用。如果:要对private的[字段]执行(取设)操作。当然:用方法来写也行,只是:用方法来写太麻凡了,于是:出现了另一种写法,由于这种写法简单,目的是为了改变对象的内部状态,所以大家称之为[属性]。[属性]:为什么大家叫[这种写法]属性呢。---因为[这种写法]都是为了改变对象的内部状态的。好比是改变对象的属性。[字段]:是对象的内部状态的表示。表示这个对象的情况,也可以说这个对象的状态。是组成对象的最小单位。以上:全是个人的理解所谓个人的理解,就是说,“书上找不到的,书上也绝对不会这样说的”。个人理解:就是结合我自己的情况,对某一问题,作出最佳理解方式,不知这种方式是否合适你。
解决方案十四:
解决方案十五:
2.Convert的显示转换咋没有tofloat?,和(double)Variant这种转换有何区别?现回答问题二了:(double)VariantC#中常见类据类型用:================================int,4字节long,8字节double,10字节flaot,8字节char,1字节decimal128位,16字节=======================================以上你看,他的字节不同,表示占用内存大小不同,比如:你说的,intVariant=10;doubledv=(double)Variant;
上面你码是什么意思呢?解译:这只是从内存中原原本本的复制Variant变量的值(4字节)到变量dv(8字节)里去,整个过程中,里面的数据不会有任何改变,convert就不同,convert是一个方法,它可以有对原变量的数据进行任意改变,你要知道它是如何改变的,就要用反编译器看看其原码了。是不是数据大小不同啊
其他方案:
属性是一种特殊的方法。如果你用过Java,那么一定会对那种特殊的方法命名getXXXsetXXX有所了解。在.NET中,也有类似的用法,C#语言对此做了封装。比如:classA{publicintid{get;set;}}其实C#会为你展开成这么多的代码:classA{privateint_id;publicintget_id(){return_id;}publicvoidset_id(intvalue){_id=value;}}属性的两大好处是,首先属性是披着字段外衣的方法,它兼容字段的语法,你将一个公有字段转变成属性,那么调用者的源代码不需要修改(注意,二进制是不兼容的,因为它毕竟是方法,和字段有本质的不同)。另外相当多的数据绑定控件,都可以支持对属性的绑定。另一个好处是,我们可以利用属性实现数据读取的更多控制,比如这些场合:数据验证——我们可以在设置属性的时候对数据做验证;懒惰加载——当数据量很大的时候,我们可以在程序访问这个属性的时候再设置值,而不是在对象产生的时候一次性加载;编写属性修改通知事件,等等。另一个问题是这样的,基本类型的强制类型转换,包括ParseXXX方法,内部都是对Convert相关方法调用实现的。
其他方案:
光是看网上的文章是不行的,具体的去别你可以借鉴网上的实例,然后再自己做的过程中去体会,别人没办法把体会给你说明白。最主要的还是自己动手实践。希望不要气馁,要有信心。