Inherently, there's not a problem with a value type being derived from a reference type. Inheritance is a "is-a" relationship between two types. However, in order to treat a value type as an object instance, it has to be boxed. This is done implicitly when you are passing a value to a method that expects an object parameter (or when you call instance methods implemented in System.Object
.)
来源: http://stackoverflow.com/questions/1316626/does-every-type-in-net-inherit-from-sytem-object/1316632#1316632
引用类型应该只是语义上的理解,继承了引用类型,但是使用的时候按照值类型的语义处理(即:传递副本不是传递引用)所以是值类型。
就我了解,值类型是结构,当然不能被继承,如有不同意见,欢迎讨论,呵呵,我也是新手
所有类型的根是obejct~然后~值类型转换到引用类型是~是装箱~ int a = 1; obejct b =a ; 在堆栈中分配内存 b 。然后你再看一下树形继承图 C#所有值类型都隐式派生自System.ValueType, System.ValueType好像派生自object。然后再按照 int a = 1; obejct b =a ;理解就ok了 。我说的有点答非所问~你问的问题没有必要去理解~理解装箱和拆箱自然就理解引用类型和值类型之前的关系了~