2011-01-24 17 views
12

Próbuję przekonwertować ListItemCollection na ListItem [].Jak przekonwertować ListItemCollection na ListItem []?

Oto, co mam w moim kodzie.

ListItemCollection rank = new 
ListItemCollection(); 

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

ListItem[] rankArray = new 
ListItem[4]; 

rankArray = (ListItem[])rank; 

Czy kolekcja w języku C# .NET traktuje ją jako tablicę lub inny typ kolekcji? Jestem trochę zdezorientowany w kolekcji i tablicy. Mając nadzieję na znalezienie świeżych pomysłów, z góry dziękuję.

Odpowiedz

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

Dziękuję bardzo Bonshington. –

+0

Life Saver! Dzięki! – HerrimanCoder

+2

To wymaga: 'using System.Linq;' – NickG

1

Jeśli planujesz używać tego często można utworzyć rozszerzenia tak:

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

Wtedy wystarczy zadzwonić rank.ToArray(); w kodzie.

Powiązane problemy