所有数据类型都是从 object 派生出来的,可以说 int 型也是类吗?
------------------------------------------
在一个贴子中,网友说 int 类型是一个类,有人说错了,int是结构,
可是结构也是从 object 派生出来的呀。可以说结构也是类吗?可是好象结构与类有严格的区别的呀。所以我有点糊涂了,所有数据类型都是从 object 派生出来的,为何有的是是结构,有的类呢?应该都属于类吗?

解决方案 »

  1.   

    先搞清楚结构和类的区别吧。。C#中结构(struct)与类(class)的区别 
      

  2.   

    一个关键问题,object 是对象还是类呢?
    所有类型的基类型都是 object ,只有类才能继承呀。所以可以说,结构也是类,一种特殊的类,这种理解对吗?
      

  3.   


    一个关键概念我不清楚,
    结构是不是类因为都是从 object 派生出来的,所以说,结构也是类的特例呀。
    因为所有类型都是从 object 派生的,所以一切都是类,这种说法有错吗?
      

  4.   

    “可是好象结构与类有严格的区别的呀。”实际上区别并不严格。结构可以看做缩小的类,只是两者在实现方式上有很大不同。
    结构间接派生自Object:结构总是派生于System.ValueType,System.ValueType派生自 System.object;
      

  5.   


    虽然都是从object派生的。。但结构和类还是有区别。。
    好好看看那篇文章最后总结分清楚结构和类的区别
      

  6.   

    虽然都是从object派生的。。但结构和类还是有区别。。
    好好看看那篇文章最后总结分清楚结构和类的区别
    -----------------------------------------
    结构与类的区别,我知道不好意思,我比较较真。
    我想问,从理论上,结构属于不属于类的特例呢?
    因为结构也是从 object 派生的,所以由此推出,结构也是类,
    这种推理有问题吗?
      

  7.   

    可以说是类,.net下一切都是类,不过是值类型的类。
      

  8.   

    那篇文章非常好哈。。谢porschev了
      

  9.   

    [SerializableAttribute]
    [ComVisibleAttribute(true)]
    public struct Int32 : IComparable, IFormattable, 
    IConvertible, IComparable<int>, IEquatable<int>并没有“继承”Object,只是可以和Object相互转换,可以被“装箱”,从而可以视为对象。这样就保持了.net一切皆对象的概念。