1.谁能解释清楚  字段 和 属性。。我看了几篇文章。云里雾里。2.Convert的显示转换咋没有tofloat?,和(double)Variant这种转换有何区别?

解决方案 »

  1.   

    网上这么多资料,你都看不懂,我们说也没用Convert.ToSingle
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/ms173118(VS.80).aspx
      

  3.   

    下面结构图:
    类 ===(包含)====》 字段+  属性 +方法。  属性 ----(取设)----> 字段
      方法 ----(取设)---->字段+属性 
      

  4.   

    [方法]:
     是万能的,可能对  [字段]+ [属性] +[方法 ] 随意 调用。如果:
      要对private 的[字段] 执行(取设)操作。
    当然:
      用方法来写也行,
    只是:太麻凡了,
     于是:就出现了属性。
      是这种类型 方法的简体版。--简体版:简写版
     //因专用来 (取设[字段]) 所以 大家就这种方法为属性, 
    为什么大家叫属性呢。---因为这种方法都是为了改变对象的内部状态的。好比是改变对象的属性。
      字段,是对象的  内部状态  的表示。表示这个对象的情况 ,也可以说这个对象的状态。
      是组成 对象的最小单位。
    以上:

    所谓个人的理解,
      就是说:书上找不到的,书上也绝对不会这样说的。
      个人理解:就是结合我自己的情况,对某一问题,作出最佳理解方式,
      不知这种方式是否合适你。
      

  5.   

    --太多错字了:

    [方法]:

     是万能的,可以对 [字段]+ [属性] +[方法 ] 随意 调用。如果:
      要对private 的[字段] 执行(取设)操作。
    当然:
      用方法来写也行,
    只是:
      用方法来写 太麻凡了,
    于是:
      出现了另一种写法,由于这种写法简单,目的是为了改变对象的内部状态,所以大家称之为[属性]。
      [属性]:
      为什么大家叫[这种写法]属性呢。---因为[这种写法] 都是为了改变对象的内部状态的。好比是改变对象的属性。
    [字段]:
      是对象的 内部状态 的表示。表示这个对象的情况 ,也可以说这个对象的状态。
      是组成对象的最小单位。
    以上: 全是个人的理解
      所谓个人的理解,
      就是说,“书上找不到的,书上也绝对不会这样说的”。  个人理解:就是结合我自己的情况,对某一问题,作出最佳理解方式,
      不知这种方式是否合适你。
      

  6.   

    2.Convert的显示转换咋没有tofloat?,和(double)Variant这种转换有何区别?
    现回答问题二了:
    (double)Variant
       C# 中常见类据类型用: 
      ================================
      int,   4字节
      long,  8字节
      double, 10字节
      flaot,  8字节
      char,   1字节
      decimal   128位,16字节 
      =======================================
    以上你看,
      他的字节不同,表示占用内存大小不同,
    比如:你说的,
    int Variant  = 10;
    double dv = (double)Variant  ;
    上面你码是什么意思呢?
    解译:
      这只是 从内存中 原原本本的复制 Variant变量的 值(4字节 )  变量dv (8字节) 里去,
      整个过程中,里面的数据不会有任何改变, convert 就不同,
      convert 是一个方法,它可以有对原变量的数据进行任意改变,
      你要知道它是如何改变的,就要用反编译器看看其原码了。  是不是数据大小不同啊
      

  7.   

    属性是一种特殊的方法。如果你用过Java,那么一定会对那种特殊的方法命名 getXXX setXXX 有所了解。在.NET中,也有类似的用法,C#语言对此做了封装。比如:
    class A
    {
        public int id { get; set; }
    }
    其实C#会为你展开成这么多的代码:
    class A
    {
        private int _id;
        public int get_id() { return _id; }
        public void set_id(int value) { _id = value; }
    }属性的两大好处是,首先属性是披着字段外衣的方法,它兼容字段的语法,你将一个公有字段转变成属性,那么调用者的源代码不需要修改(注意,二进制是不兼容的,因为它毕竟是方法,和字段有本质的不同)。另外相当多的数据绑定控件,都可以支持对属性的绑定。另一个好处是,我们可以利用属性实现数据读取的更多控制,比如这些场合:数据验证——我们可以在设置属性的时候对数据做验证;懒惰加载——当数据量很大的时候,我们可以在程序访问这个属性的时候再设置值,而不是在对象产生的时候一次性加载;编写属性修改通知事件,等等。另一个问题是这样的,基本类型的强制类型转换,包括ParseXXX 方法,内部都是对Convert相关方法调用实现的。