2011-09-18 27 views
32

Chcę mieć tablicę list. C++ Mam jak:Tablica listy w C#

List<int> a[100]; 

która jest tablicą 100 list. każda lista może zawierać wiele elementów. Nie wiem, jak to zrobić w języku C#. Czy ktoś może mi pomóc?

Odpowiedz

62

Robisz tak:

List<int>[] a = new List<int>[100]; 

Teraz masz tablicę typu List<int> zawierającej 100 referencji null. Trzeba tworzyć listy i umieścić w tablicy, na przykład:

a[0] = new List<int>(); 
1
List<int>[] a = new List<int>[100]; 

nadal musiałby przeznaczyć każdego indywidualnego wykazu w tablicy, zanim będzie można go używać choć:

for (int i = 0; i < a.Length; i++) 
    a[i] = new List<int>(); 
1

użycie

List<int>[] a = new List<int>[100]; 
6

proste podejście:

 List<int>[] a = new List<int>[100]; 
     for (int i = 0; i < a.Length; i++) 
     { 
      a[i] = new List<int>(); 
     } 
Aplikacja

lub LINQ płoć

 var b = Enumerable.Range(0,100).Select((i)=>new List<int>()).ToArray(); 
12

Ponieważ brak kontekstu dano na to pytanie i jesteś stosunkowo nowym użytkownikiem, chcę, aby upewnić się, że są świadomi, że można mieć lista list. To nie jest taka sama jak tablicę listy i pytasz konkretnie za to, ale jednak:

List<List<int>> myList = new List<List<int>>(); 

można zainicjować je poprzez inicjalizatorów zbiórki tak:

List<List<int>> myList = new List<List<int>>(){{1,2,3},{4,5,6},{7,8,9}}; 
+0

+1 dla składni inicjatora (który działa dla tablic i list) – phoog

-6
// The letter "t" is usually letter "i"// 

    for(t=0;t<x[t];t++) 
    { 

     printf(" %2d   || %7d \n ",t,x[t]); 
    } 
+0

Możesz wyjaśnić odpowiedź na nieco więcej. Wydaje się również, że nie dotyczy to pytania, które polega na tworzeniu tablicy list, a nie na drukowaniu czegokolwiek. –