System.Collections.ArrayList

时间:2013-04-01 19:03:06

标签: c# arrays arraylist

新手在这里

我这里有这行代码

lblDepart.Text = t.DepartureCities;

然后返回

System.Collections.ArrayList

我猜这是一个ArrayList ....如何正确显示它?

3 个答案:

答案 0 :(得分:3)

ArrayList是元素的集合。为了向用户显示此值,您必须将所有元素组合成单个string值。有不同的方法可以做到这一点,但最简单的方法是使用逗号

ArrayList list = t.DepartureCities;
StringBuilder builder = new StringBuilder();
for (int i = 0; i < list.Count; i++) {

  if (builder.Length > 0) {
    builder.Append(", ");
  }
  object current = list[i];
  builder.Append(current);
}
lblDeparture.Text = builder.ToString();

请注意,ArrayList通常被认为是.Net中的过时类型。如果您控制DepartureCities,则应使用List<T>

原因是打字很强。使用ArrayList我不知道您在集合中存储了哪种类型的元素:stringCity等等... List<T>它很明显,因为它会直接显示说明它包含的元素:List<string>List<City>等......

答案 1 :(得分:1)

lblDepart.Text = String.Join(",", t.DepartureCities.OfType<YourType>());

相应地更改YourType。也许City

答案 2 :(得分:0)

如果你打电话

lblDepart.Text = t.DepartureCities;

然后这隐含地调用

lblDepart.Text = t.DepartureCities.ToString();

和这些内置类型的ToString() - 方法通常返回对象的名称。 该对象是一个Collection - 包含多个单独对象的对象。 如果要访问单个项目,请使用

foreach(var item in t.DepartureCities){
//use item in here
}