2012-04-08 15 views
5

Solo quiero obtener una matriz de 2 dimensiones de List en C#. En mi opinión, a continuación debería funcionar, pero no fue así, la matriz de 1 dimensión de List funciona. Uso Unity3D con Mono, sin embargo, creo que es un problema relacionado con el lenguaje.matriz de 2 dimensiones de la lista en C#?

List<MyType>[,] twoDArrayofList;//don't work, it's type is List<MyType> 
List<MyType>[] oneDArrayofList;//it's works, the type is List<MyType> 

¿Alguien sabe qué pasa? Gracias.

+1

consulte: http://stackoverflow.com/questions/665299/are-2-dimensional-lists-possible-in-c – Marshal

+0

gracias, Mariscal , Lo comprobaré –

+0

@Marshal He comprobado esa pregunta, ese es un problema diferente, de todos modos, gracias por la rápida respuesta –

Respuesta

5

¿Qué quiere decir con "does not work"? ¿Qué error estás recibiendo?

No sé sobre Mono (o Unity3D), pero he intentado lo siguiente en un proyecto .NET y dieron los resultados que yo esperaba:

List<string>[,] strings = new List<string>[2, 2]; 
strings[0, 0] = new List<string> { "One" }; 
strings[0, 1] = new List<string> { "Two" }; 
strings[1, 0] = new List<string> { "Three" }; 
strings[1, 1] = new List<string> { "Four" }; 
+0

+1: Estaba pensando lo mismo. – Douglas

+2

Lo averiguo, es el error IDE MonoDeveloper, el IDE no puede reconocer esta situación y me da un tipo incorrecto, qué lástima. Gracias por su respuesta, permítanme comenzar a verificar el IDE –

0

Este es un mensaje antiguo, pero vine en mi búsqueda por una respuesta similar. Descubrí que crear un diccionario en lugar de una lista satisface mis necesidades. No puede iterar por índice, pero si tiene una lista discreta y está iterando a través de la primera cadena "Clave", puede obtener fácilmente la segunda cadena "Valor".

Aquí es un puesto de stackoverflow con ejemplos: What is the best way to iterate over a Dictionary in C#?

Cuestiones relacionadas