2009-09-02 17 views
5

Czy istnieje wbudowane sposób, że byłoby to zrobić lub nie zawsze muszę ręcznie utworzyć nową tablicę, a następnie wypełnić go z pętlą foreachlisty <int> konwersji do int []

+0

Dlaczego? Jedyne uzasadnione powody, dla których mogę to zrobić, to użycie metod API wymagających argumentów tablicowych. Jeśli to twój problem, niech tak będzie, ale po prostu zostaw to jako listę. –

+0

to był dokładnie powód :) – kaivalya

Odpowiedz

27
list.ToArray() 
+0

+1 krótka odpowiedź kompaktowa :-) – bastianneu

+0

lol, istnieje minimalna liczba znaków do komentarza, ale nie odpowiedzi? –

+0

Myślę, że jest też minimalne dla odpowiedzi, ale to jest dłuższe niż minimum. –

7
List<int> list = ... 
... 
int[] array = list.ToArray(); 

Można również użyj metody CopyTo:

int[] array = new int[list.Count]; 
list.CopyTo(array); 
+1

'List ' w .NET 2.0 ma 'ToArray'. 'List .ToArray' nie wywoła metody rozszerzenia" Enumerable.ToArray ". –

+0

Dobra uwaga ... Rzeczywiście myślałem o metodzie przedłużenia. naprawię to –