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

c# – .ToString()方法如何工作?

有时当我调用类的.ToString()方法时,它会返回类的完全限定名.但对于某些类的/ struct(如Int32),它返回一个字符串对应的对象(整数的值).这是否意味着Int32类重写了ToString()方法,并且返回完全限定名称的类不会覆盖它,而只是调用base(Object)的ToString()方法? Object.ToString()实现是否只返回类的完全限定名称

解决方法

Sometimes when I call the ToString method it returns the fully qualified name of the runtime type of the object that received the call.

正确.

But for some types,such as system.int32,ToString returns the value of the receiver converted to a string.

正确.

Does the system.int32 struct override the ToString method?

是.

Do other types whose ToString methods return the fully-qualified type name not override ToString?

情况可能就是这样,是的.当然,他们可以覆盖该方法并使覆盖方法与基类方法完全相同,但这有点无意义.

So in those cases,calling ToString just calls the System.Object implementation of ToString,which returns fully qualified name?

正确.

你似乎已经掌握了它是如何工作的.我唯一的修正是要注意system.int32是一个结构,而不是一个类.

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

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

相关推荐