问一个有点白痴的问题:C#中所有的类型都继承了Object,包括值类型,于是问题出来了:不是说值类型不能继承类(参考类型)吗(可以实现接口)?而Object显然是参考类型(类),这不矛盾吗?例如,int,bool,char等基本类型都继承自Object,但Object是参考类型,这不是说值类型可以继承参考类型吗?有点矛盾?或许我理解不到位,请各位高手给予解答,先谢谢了!

解决方案 »

  1.   

    int,bool,char都是结构体"Struct"类型.
      

  2.   

    值类型包括结构和枚举,均隐式派生自System.ValueType
      

  3.   

    基本类型(如int,char,bool等struct类型及enum类型)和引用类型既然都来自Object,为何微软又说基本类型(如结构和枚举)不能继承类(可以实现接口,可Object不是接口)?迷糊?
      

  4.   

    微软可以继承的东西——你未必可以,就在于这点上,很多微软反编译出来的类、方法,都不让用的~~==================================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    优惠接单开发,组件控件定制开发,成品源代码批发
    联系方式:Q64180940 全天在线
    ==================================================================
      

  5.   

    什么时喉.net开源了 到那时我们才能真正的了解.net  啊啊 跟白说一样 .net可能开源吗?有的时候感觉干这行真没啥技术含量
    用着微软的开发工具 按着微软的技术要求 调用着微软的提供的类库 写着所谓的“自己”的程序。 有的时候我总有这样的疑问 为什么这样规定?它到底是怎么实现的?可是这方面的资料又很难找到 啊啊 每当这个时候我总是问自己 我能算是一个程序员吗? 啊啊 是不是我水平不够啊?我干这行跟熟练工人到底有什么区别啊? 
      

  6.   

    例如,int,bool,char等基本类型都继承自Object------------------------------------------------- 是的,否则你怎么可以真接在程序中用int,char的值直接用ToString()等方法.虽然int,bool继承自object可以真接使用一些通用的方法,但其存储方式仍是值存储方式,具体微软怎么弄的不是很明白,不过你要是用的话肯定得装拆箱.
      

  7.   

    viena() 维也纳(windows7) ( ) 信誉:100  2007-08-10 09:56:08  得分: 0  
     
     
       KAO,说了半天对牛弹琴了~
      
     
    ------------------------------------------------------------------------------------
    哈哈,我来打个比方
    比方说有个网游规定 游戏里面用的都是冷兵器 于是大家拿的全是矛啊刀啊棍子啊剑啊什么的在砍 这时突然守城的NPC掏出一把五四手枪朝天放了几枪 LZ被吓傻了 你说他的枪是哪来的啊?
      

  8.   

    因为值类型继承自System.ValuType的时候已经隐式的设定为sealed
    所以值类型不能被继承。
     如果你把类加上sealed修饰,它同样也不能被继承。
     至于为什么要这么设计,一点点笔墨难以描述
      

  9.   

    谁说“Object显然是参考类型”