2011-09-18 36 views
32

Quiero tener una matriz de listas. en C++ me gusta:Una matriz de lista en C#

List<int> a[100]; 

que es una matriz de 100 Listas. cada lista puede contener muchos elementos. No sé cómo hacer esto en C#. ¿Alguien puede ayudarme?

Respuesta

62

Haces así:

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

Ahora usted tiene una matriz de tipo List<int> que contiene 100 referencias nulas. Hay que crear listas y poner en la matriz, por ejemplo:

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

Todavía tendría que asignar a cada lista individual de la matriz antes de poder usarlo sin embargo:

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

uso

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

enfoque simple:

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

o LINQ aplicación Roach

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

Dado que ningún contexto se le dio a esta pregunta y usted es un relativamente nuevo usuario, que quiere asegurarse de que son conscientes de que se puede tener una lista de listas. No es el mismo que el conjunto de lista y se preguntó específicamente para eso, pero sin embargo:

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

puede inicializar a través de inicializadores de recogida de este modo:

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

+1 para la sintaxis de inicializador (que funciona tanto para matrices como para listas) – phoog

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

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

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

Es posible que desee explicarle que responda un poco más. Tampoco parece abordar la pregunta, que es preguntar cómo crear una matriz de listas, no cómo imprimir algo. –

Cuestiones relacionadas