2011-01-24 14 views
12

Estoy tratando de convertir un ListItemCollection en un ListItem [].Cómo convertir un ListItemCollection en un ListItem []?

Esto es lo que tengo en mi código.

ListItemCollection rank = new 
ListItemCollection(); 

rank.Add(new ListItem("First", "1"); 
rank.Add(new ListItem("Second", "2"); 

ListItem[] rankArray = new 
ListItem[4]; 

rankArray = (ListItem[])rank; 

¿Un recogida en C# .NET lo trata como una matriz o de otro tipo de colección? Estoy un poco confundido sobre colección y una matriz. Con la esperanza de encontrar nuevas ideas, gracias de antemano.

Respuesta

43
var result = rank.Cast<ListItem>().ToArray(); 
+0

Muchas gracias Bonshington. –

+0

¡Ahorro de vida! ¡Gracias! – HerrimanCoder

+2

Esto necesita: 'using System.Linq;' – NickG

1

Si usted planea usar esta frecuencia puede crear una extensión de esta manera:

public static ListItem[] ToArray(this ListItemCollection collection) 
{ 
    return collection.Cast<ListItem>().ToArray(); 
} 

A continuación, sólo tendrá que llamar rank.ToArray(); en el código.

Cuestiones relacionadas