Не может преобразовать ListBox. ObjectCollection к (введенному) массиву

Я хочу преобразовать объекты в Массив строк или тип, что я раньше заполнял ListBox. DataSource. Тип переопределил ToString (), но я не могу, казаться, получить преобразованный, даже не Представить в виде строки [].

String[] a = (String[])ListBox1.Items;
Contacts[] b = (Contacts[])ListBox1.Items;
8
задан D. Veloper 8 April 2010 в 10:36
поделиться

1 ответ

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));
24
ответ дан 5 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: