【发布时间】:2015-05-23 14:11:23
【问题描述】:
我对以下代码有疑问:
class CurrentDate
{
static void Main()
{
Console.WriteLine(DateTime.Now);
}
}
文档说:
写入指定对象数组的文本表示, 后跟当前行终止符,到标准输出流 使用指定的格式信息。
所以我的问题是:WriteLine 怎么知道DateTime 对象的文本表示?我的意思是,如果我从自己的类创建自己的对象,它怎么知道如何将值转换为文本?更重要的是,它怎么知道值是什么?如何定义一个对象的“价值”?
【问题讨论】:
-
请注意,Visual Studio Debugger 的对象检查器也使用非常相似的机制 (
MyClass.toString) 来确定当对象显示为单行时要打印的值。 -
Console.WriteLine()隐式调用ToString(),因此对于您自己的对象,您必须实现/覆盖ToString()方法。
标签: c# console.writeline