为了账号安全,请及时绑定邮箱和手机立即绑定

关于ToString()的问题

关于ToString()的问题

呼唤远方 2018-08-02 05:06:19
C#中,假设p1是一个类的实例,并且重写了ToString方法,那么Console.WriteLine(p1);为什么会输出p1.ToString()的结果?貌似就算不重写输出的也是ToString的结果,是因为自动就调用么?不用显式的写p1.ToString()么?
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

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());
        }
    }
}


查看完整回答
反对 回复 2018-08-06
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

因为Console.WriteLine也是个方法啊。。这个方法里输出的是p1.ToString的结果啊。。你去看源代码好了

查看完整回答
反对 回复 2018-08-06
  • 2 回答
  • 0 关注
  • 386 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信