是否可以重寫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