微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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à…

原文地址:https://www.jb51.cc/csharp/94283.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐