новичку здесьSystem.Collections.ArrayList
У меня есть эта строка кода здесь
lblDepart.Text = t.DepartureCities;
и возвращает
System.Collections.ArrayList
Я предполагаю, что это ArrayList .... как бы Я показываю его правильно?
новичку здесьSystem.Collections.ArrayList
У меня есть эта строка кода здесь
lblDepart.Text = t.DepartureCities;
и возвращает
System.Collections.ArrayList
Я предполагаю, что это ArrayList .... как бы Я показываю его правильно?
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>
и т.д ...
Бонусные баллы за сообщение пользователю о том, что список
. ссылка?) ' – user979331
@ user979331 не забудьте добавить' using System.Text' в начало файла. – JaredPar
Если вы звоните
lblDepart.Text = t.DepartureCities;
то это неявно вызывает
lblDepart.Text = t.DepartureCities.ToString();
и ToString()
-метод из них встроенные типы обычно возвращают имя объекта. Объект Collection
-объект, содержащий несколько отдельных объектов. Если вы хотите получить доступ к отдельным элементам, используйте
foreach(var item in t.DepartureCities){
//use item in here
}
lblDepart.Text = String.Join(",", t.DepartureCities.OfType<YourType>());
Изменения YourType
соответственно. Может быть City
?
Я получаю сообщение об ошибке с этим 'Тип или имя пространства имен 'YourType' не удалось найти (вы отсутствуете директива using или ссылка на сборку?) ' – user979331
@ user979331 Вы должны заменить' YourType' на правильный тип. Что находится в 't.DepartureCities'? – I4V
Что я не уверен ... Я попробовал City и ListItem, и я получил эту ошибку 'System.Collections.ArrayList 'не содержит определения для' OfType '' – user979331
Можете ли вы уточнить, что вы подразумеваете под дисплеем? Веб? Консоль? WinForm? – 2013-04-01 19:04:05
какой тип 't'? –
У меня есть ярлык 'lblDepart =" Мы уходим из "+ t.DepartureCities; и The DepartureCities - это Лос-Анджелес, Бостон, Торонто ... пытается показать на этикетке «Мы уезжаем из Лос-Анджелеса, Бостона, Торонто. – user979331