C#中struct结构的基类

时间:2012-07-12 22:41:41

标签: c# c#-4.0

http://msdn.microsoft.com/en-us/library/ah19swz4(v=VS.71).aspx

按照上面的链接......“但是,Structs继承自基类Object ......”

根据以下链接 http://msdn.microsoft.com/en-us/library/system.valuetype.aspx Struct在层次结构中的ValueType之后实现。

“struct”是从哪个类派生出来的?或者编译器将“struct”保留字视为使用“struct”作为值类型进行任何声明? 在整体理解中缺少小线程。 谢谢您的帮助。 史密斯

1 个答案:

答案 0 :(得分:7)

层次结构(跳过任何类子类型)是:

  1. struct .. -> ValueType -> Object

  2. class .. -> Object

  3. 演示:

    struct S {}
    class C {}
    
    // or see `is` as per Jeff Mercado's comment
    typeof(ValueType).IsAssignableFrom(typeof(S)); // True
    typeof(object).IsAssignableFrom(typeof(S));    // True
    
    typeof(ValueType).IsAssignableFrom(typeof(C)); // False
    typeof(object).IsAssignableFrom(typeof(C));    // True