c# – 由于Int32是一个值类型,为什么它继承.ToString()?

前端之家收集整理的这篇文章主要介绍了c# – 由于Int32是一个值类型,为什么它继承.ToString()?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
These are the docs关于.ToString()提示了这个问题.他们说:

Because Object is the base class of all reference types in the .NET
Framework,this behavior [.ToString()] is inherited by reference types that do not
override the ToString method.

更进一步的说:

For example,the base types such as Char,Int32,and String provide ToString implementations

但Int32是一个结构体,因此必须是一个值类型.

那么这里发生了什么? Int32实现它是非常自己的.ToString()与Object无关?

解决方法

Int32是一个结构体,因此是一个值类型.
但:
System.Object
   System.ValueType
      System.Int32

Int32派生自System.ValueType,它本身来源于System.Object. Etvoilà…

猜你在找的C#相关文章