我一直想知道导致在.NET中使用Object创建ToString的设计选择。
答案 0 :(得分:2)
documentation给出了一个非常明确的目的:
Object.ToString是.NET Framework中的主要格式化方法。它将对象转换为字符串表示形式,以便适合显示。
它在Object
上定义,因此所有类型至少具有默认实现。它是virtual
所以如果类型可以显示除类名之外的其他内容(不必知道实际类型),那么它们可以提供自己的实现。数字类型会覆盖它,因此默认情况下可以显示值。
答案 1 :(得分:0)
至少需要某种方式来直观地表示类实例,即使它只显示类名。首先,它可以检查变量的值。如果我们在即时窗口中键入?x
,则x
显示值的唯一方法是将其呈现为字符串。
答案 2 :(得分:0)
根据我的“框架设计指南”版本.ToString存在以方便调试。在页272讨论了此方法的最佳用途,并指出“......调试器将其用作显示对象的默认方式。”