为什么在.NET中的Object上定义了ToString()?

时间:2016-04-18 17:38:34

标签: .net object inheritance tostring

我一直想知道导致在.NET中使用Object创建ToString的设计选择。

3 个答案:

答案 0 :(得分:2)

documentation给出了一个非常明确的目的:

  

Object.ToString是.NET Framework中的主要格式化方法。它将对象转换为字符串表示形式,以便适合显示。

它在Object上定义,因此所有类型至少具有默认实现。它是virtual所以如果类型可以显示除类名之外的其他内容(不必知道实际类型),那么它们可以提供自己的实现。数字类型会覆盖它,因此默认情况下可以显示

答案 1 :(得分:0)

至少需要某种方式来直观地表示类实例,即使它只显示类名。首先,它可以检查变量的值。如果我们在即时窗口中键入?x,则x显示值的唯一方法是将其呈现为字符串。

答案 2 :(得分:0)

根据我的“框架设计指南”版本.ToString存在以方便调试。在页272讨论了此方法的最佳用途,并指出“......调试器将其用作显示对象的默认方式。”