是否可以重写ToString()方法来输出列表? 这里是我的代码如何覆盖ToString()方法来输出列表?
namespace CircularClass
{
class InfinitelyCircular
{
public class RatsInAShip
{
public string RatBreed;
public string RatWeight;
public string RatAge;
public bool HasChildren;
public List<RatsInAShip> RatChildren;
public override string ToString()
{
return String.Format("RatBreed:{0}\n RatWeight:{1}\n RatAge:{2}\n HasChildren:{3}",RatBreed, RatWeight, RatAge, HasChildren);
}
}
static void Main(string[] args)
{
var mu = new RatsInAShip()
{
RatAge = "100",
RatBreed = "RexRat",
RatWeight = "200",
HasChildren = true,
RatChildren = new List<RatsInAShip>()
};
for (var i = 0; i < 3; i++)
{
var cu = new RatsInAShip()
{
RatAge = "100",
RatBreed = "DwarfRat"+i,
RatWeight = "200",
HasChildren = false
};
mu.RatChildren.Add(cu);
}
//Output
Console.WriteLine(String.Format("{0}, {1}", mu.RatBreed, mu.RatChildren[0]));
}
}
}
我怎么可以重写的ToString()输出所有的孩子在一个列表?
你所说的“名单”是什么意思?你在谈论List类吗?或者你只是指'String'中的逗号分隔列表? – 2011-06-13 13:20:54
你不能,'ToString()'和任何重写的方法只能返回与父类相同的类型(在本例中为'string')。你的意思是你想要在一条单独的线上为每个孩子输出一个字符串吗? – 2011-06-13 13:21:02
此[链接](http://msdn.microsoft.com/en-us/library/ms173154(VS.80)的.aspx)可以帮助 – robasta 2011-06-13 13:24:14