ArrayList c = new ArrayList();
c.Add(new Continent("Africa", af));
c.Add(new Continent("America", am));
c.Add(new Continent("Asia", a));
c.Add(new Continent("Oceania", oc));
c.Add(new Continent("Europe", eu));
c.Sort();
for (int i = 0; i < c.Count; i++)
{
Console.WriteLine("{0}", c[i]);
}
output:
TP.Continent
TP.Continent
TP.Continent
TP.Continent
TP.Continent
构造函数很好,因为它排序时不会告诉我有错误
第一个元素是字符串,另一个是整数。应该没问题,但是由于某种原因不能正确打印。
最佳答案
您正在打印大陆对象,而不是它们的各个部分。您可以将循环更改为:
for (int i=0; i<c.Count; i++)
{
Console.WriteLine("{0}", c[i].name); // Or whatever attributes it has
}
或者,您可以在“ Continent”对象内添加“ ToString”函数以正确打印出来。
看起来像(在Continent对象内部):
public override string ToString()
{
return "Continent: " + attribute; // Again, change "attribute" to whatever the Continent's object has
}
关于c# - 为什么ArrayList无法正确打印?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9999103/