可以从c#中的类派生结构吗?

Nit*_*ess 8 c# struct class

结构可以从c#中的类派生吗?

如果没有,为什么原始数据类型(如int)可以从类中派生出来object?由于数据类型int基本上是结构类型(值类型).

这仅仅是规则的例外吗?

Ale*_*iak 9

整数和其他值类型(如布尔)都是对象,因为它允许他们利用继承(即他们能够获得共同的.Equals(),.GetType(),.ToString()功能).

这是.NET框架中的设计决策.它们不是为System.ValueType下的所有值类型编写单独的函数,而是使用公共代码库.

Microsof关于类型的文档

  • @NithishInpursuitOfhappiness不,实际上`System.ValueType`**是一个类,因此所有结构**必须**派生自一个类,即类System.ValueType`.但是不允许从_another_类派生而不是`System.ValueType`.它甚至不允许指定你的基类(它必须是"自动"`System.ValueType`).类System.ValueType`派生自`System.Object`.这就是你的struct继承`System.Object`的所有成员的原因.与`int`相同:它是一个结构体,它派生自类System.ValueType`. (2认同)

SLa*_*aks 7

所有结构都继承System.ValueType,继而继承Object.

你不能改变它.