加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:20:32 所属栏目:百科 来源:网络整理
导读:有时当我调用类的.ToString()方法时,它会返回类的完全限定名.但对于某些类的/ struct(如Int32),它返回一个字符串对应的对象(整数的值).这是否意味着Int32类重写了ToString()方法,并且返回完全限定名称的类不会覆盖它,而只是调用base(Object)的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是一个结构,而不是一个类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读