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 关注
- 397 浏览
添加回答
举报
0/150
提交
取消