console.writeline()没看懂

yezhubenyue 2012-03-21 04:01:36

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication7
{
class point
{
public int x, y;
public point()
{
x = 0;
y = 0;
}
public point(int x, int y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return (string.Format("({0},{1})", x, y));
}
}

class Program
{
static void Main(string[] args)
{
point p1 = new point();
point p2 = new point(5, 3);
Console.WriteLine("P1点对应的坐标为{0}", p1);
Console.ReadKey();
}
}
}



这里console.writeline("P1点的对应坐标为{0},p1") 为什么就调用了point类下的Tostring方法
关于函数重载我知道De
...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT小金 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cai5 的回复:]

Console.WriteLine("P1点对应的坐标为{0}", p1);

控制台输出的是string ,所以会把 p1这个对象先转换为string ,如果你没有重写ToString();
会调用系统其基类ToString() ;
[/Quote]

同意!
色拉油 2012-03-21
  • 打赏
  • 举报
回复
Console.WriteLine 会判断参数类型,如果不是string会尝试调用参数的ToString,如果有ToString方法,则显示输出结果,没有就报错了
hztltgg 2012-03-21
  • 打赏
  • 举报
回复
因为Console.WriteLine这个函数里就是这样写的
yezhubenyue 2012-03-21
  • 打赏
  • 举报
回复
还是不知道为什么会调用tostring 。。会什么不调用其他方法呢。
白色的海 2012-03-21
  • 打赏
  • 举报
回复
console.writeline在输出字符串的时候,会去调用参数的ToString()方法将参数转换成字符串。
从Object类继承来的对象都会拥有默认的ToString()方法,但是很多时候ToString()之后的字符串会有自己的要求,那么重写ToString()方法可以自定义输出的字符串,可以作一些格式化方面的操作等。
xboxeer 2012-03-21
  • 打赏
  • 举报
回复
LZ估计是想知道他为什么自动去调用tostring了吧 这是因为writeline的参数实际上是object类型 内部调用的是object类型的tostring C#学过的都知道任何类都继承自object因此肯定都有tostring方法 这里楼主又重写了object的tostring 也就是说在这边有个多态
可以试下把override关键字改成new 那么调用的将会是基类object的tostring方法 也就是输出类名
五哥 2012-03-21
  • 打赏
  • 举报
回复
Console.WriteLine("P1点对应的坐标为{0}", p1);

控制台输出的是string ,所以会把 p1这个对象先转换为string ,如果你没有重写ToString();
会调用系统其基类ToString() ;
深海之蓝 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
因为要输出字符串 而且重载了ToString()
所以当然调用了
[/Quote]
是的
bdmh 2012-03-21
  • 打赏
  • 举报
回复
因为要输出字符串 而且重载了ToString()
所以当然调用了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧