2010-04-08 14 views

Respuesta

22
string[] a = ListBox1.Items.Cast<string>().ToArray(); 

Por supuesto, si todo lo que planea hacer con a es iterar sobre él, usted no tiene que llamar ToArray(). Se puede utilizar directamente el IEnumerable<string> regresaron de Cast<string>(), por ejemplo:

foreach (var s in ListBox1.Items.Cast<string>()) { 
    do_something_with(s); 
} 

O, si tiene alguna manera de convertir cadenas en Contactos, puede hacer algo como esto:

IEnumerable<Contacts> c = ListBox1.Items.Cast<string>().Select(s => StringToContact(s)); 
+0

Solo tuve que convertirlo para pasarlo como parámetro a un método. Solo aceptó String [] o Contact []. Muy útil, gracias! –

1

El método Cast doesn Parece que ya no está disponible. Se me ocurrió una otra solución:

String[] array = new String[ListBox.Items.Count] 
ListBox.Items.CopyTo(array, 0); 

El método CopyTo toma una matriz existente e insertar los elementos en el índice y hacia adelante dado.

No sé si esto es muy eficiente, pero es consistente y fácil de escribir.

Cuestiones relacionadas