-4

新手在这里

我这里有这行代码

lblDepart.Text = t.DepartureCities;

它返回

System.Collections.ArrayList

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

4

3 回答 3

3

AnArrayList是元素的集合。为了向用户显示这个值,您必须将所有元素组合成一个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我不知道你在集合中存储什么类型的元素:, string,City等等......List<T>这很明显,因为它会直接说明它包含的元素:List<string>, List<City>, 等等......

于 2013-04-01T19:06:36.140 回答
1
lblDepart.Text = String.Join(",", t.DepartureCities.OfType<YourType>());

相应地改变YourType。也许City

于 2013-04-01T19:07:59.640 回答
0

如果你打电话

lblDepart.Text = t.DepartureCities;

然后这隐含地调用

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

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

foreach(var item in t.DepartureCities){
//use item in here
}
于 2013-04-01T19:06:46.297 回答