ToString()方法的使用

devils_lock 2017-10-04 10:37:34
Console.WriteLine("Create an Array type collection of Animal objects and use it:");
Animal[] animalArray = new Animal[2];
Cow c1 = new Cow("Tom");
animalArray[0] = c1;

Chicken c2 = new Chicken("sike");
animalArray[1] = c2;
foreach (Animal temp in animalArray)
{
Console.WriteLine(temp.ToString()+" 名字"+temp.Name);
}
Console.WriteLine("数组中包含对象个数为:"+animalArray.Length);
Console.ReadKey();
此处temp.ToString()输出的应该是当前对象的字符串,应该是C1,C2。为什么会输出类名Cow和Chiken。
...全文
628 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
MYsce 2017-10-07
  • 打赏
  • 举报
回复
你输出的是类命名空间,需要重写tostring();
xuzuning 2017-10-05
  • 打赏
  • 举报
回复
c1、c2 是变量名,对象只是发放在其中 你说 c1.ToString() 应该是什么呢?
  • 打赏
  • 举报
回复
csdn的服务器的时钟竟然快半个多小时?!
wzkevin 2017-10-05
  • 打赏
  • 举报
回复
xiaoxiaotank 2017-10-04
  • 打赏
  • 举报
回复
需要重写tostring
真相重于对错 2017-10-04
  • 打赏
  • 举报
回复
你为何会这么想? 万事不要想当然
阿良chjlcn 2017-10-04
  • 打赏
  • 举报
回复
正常呀,输出类名 可以重载Annimal.ToString()方法 public override string ToString() { // 实现你想要返回的 // return base.ToString(); }
exception92 2017-10-04
  • 打赏
  • 举报
回复
任何类会默认重写System.Object的ToString方法,它会返回当前方法名称。
  • 打赏
  • 举报
回复
引用 4 楼 weixin_40489066 的回复:
你好,我看注解是:string.object.tostring()方法返回表示当前对象的字符串,按照这个说法应该是C1,C2呀,因刚开始学习,望详细解释一下不输出对象,输出类名的原因,谢谢
别抠字眼,要知道 how 而不是仅仅停留在 what 上,所以在你没有反复测试之前,遇到点错误在所难免。
  • 打赏
  • 举报
回复
引用 5 楼 weixin_40489066 的回复:
[quote=引用 3 楼 qq_31606375 的回复:] 需要重写tostring
你好,我的目的不是要得到想要的C1,C2对象,我的意思是我想要知道输出类名的原因,谢谢[/quote] 自定义对象的 ToString 函数本来就是输出类名。
devils_lock 2017-10-04
  • 打赏
  • 举报
回复
引用 3 楼 qq_31606375 的回复:
需要重写tostring
你好,我的目的不是要得到想要的C1,C2对象,我的意思是我想要知道输出类名的原因,谢谢
devils_lock 2017-10-04
  • 打赏
  • 举报
回复
引用 2 楼 chjlcn 的回复:
正常呀,输出类名 可以重载Annimal.ToString()方法 public override string ToString() { // 实现你想要返回的 // return base.ToString(); }
你好,我看注解是:string.object.tostring()方法返回表示当前对象的字符串,按照这个说法应该是C1,C2呀,因刚开始学习,望详细解释一下不输出对象,输出类名的原因,谢谢

110,571

社区成员

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

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

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