新手在这里
我这里有这行代码
lblDepart.Text = t.DepartureCities;
它返回
System.Collections.ArrayList
我猜这是一个 ArrayList....我将如何正确显示它?
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>
, 等等......
lblDepart.Text = String.Join(",", t.DepartureCities.OfType<YourType>());
相应地改变YourType
。也许City
?
如果你打电话
lblDepart.Text = t.DepartureCities;
然后这隐含地调用
lblDepart.Text = t.DepartureCities.ToString();
而ToString()
这些内置类型的 - 方法通常会返回对象的名称。该对象是一个Collection
包含多个单独对象的对象。如果要访问单个项目,请使用
foreach(var item in t.DepartureCities){
//use item in here
}