Я хочу преобразовать объекты в Массив строк или тип, что я раньше заполнял ListBox. DataSource. Тип переопределил ToString (), но я не могу, казаться, получить преобразованный, даже не Представить в виде строки [].
String[] a = (String[])ListBox1.Items;
Contacts[] b = (Contacts[])ListBox1.Items;
string[] a = ListBox1.Items.Cast<string>().ToArray();
Конечно, если все, что вы планируете делать с a
, - это перебирать его, вам не нужно вызывать ToArray (). Вы можете напрямую использовать IEnumerable
, возвращенный из Cast
, например:
foreach (var s in ListBox1.Items.Cast<string>()) {
do_something_with(s);
}
Или, если у вас есть способ преобразовать строки в Контакты, вы можете сделайте что-нибудь вроде этого:
IEnumerable<Contacts> c = ListBox1.Items.Cast<string>().Select(s => StringToContact(s));