新手在这里
我这里有这行代码
lblDepart.Text = t.DepartureCities;
然后返回
System.Collections.ArrayList
我猜这是一个ArrayList ....如何正确显示它?
答案 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
我不知道您在集合中存储了哪种类型的元素:string
,City
等等... 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
}