C#中,假设p1是一个类的实例,并且重写了ToString方法,那么Console.WriteLine(p1);为什么会输出p1.ToString()的结果?貌似就算不重写输出的也是ToString的结果,是因为自动就调用么?不用显式的写p1.ToString()么?
2 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
public virtual void WriteLine(object value)
{
if (value == null)
{
this.WriteLine();
}
else
{
IFormattable formattable = value as IFormattable;
if (formattable != null)
{
this.WriteLine(formattable.ToString(null, this.FormatProvider));
}
else
{
this.WriteLine(value.ToString());
}
}
}
看看这个就明白了,内部是这样实现的。
- 2 回答
- 0 关注
- 440 浏览
添加回答
举报
0/150
提交
取消
