2012-04-08 104 views
5

我只想在C#中获得一个2维数组的List。在我的想法中,下面应该有效,但它没有,List的1维数组工作。我使用Unity3D与Mono,但我认为这是与语言相关的问题。C#中List的二维数组?

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

任何人都知道什么是错的?谢谢。

+1

请参考:http://stackoverflow.com/questions/665299/are-2-dimensional-lists-possible-in-c – Marshal 2012-04-08 07:52:50

+0

谢谢,元帅,我会检查它 – 2012-04-08 07:57:45

+0

@Marshal我已经检查过这个问题,这是不同的问题,无论如何感谢您的快速反馈 – 2012-04-08 08:11:50

回答

5

你是什么意思的“不工作”?你遇到了什么错误?

我不知道单声道(或Unity3D),但我只是想在一个.NET项目下面,得到了我希望的结果:

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:正在考虑同样的事情。 – Douglas 2012-04-08 08:17:43

+2

我弄明白了,这是IDE MonoDeveloper错误,IDE无法识别这种情况,并给我一个错误的类型,真是太遗憾了。感谢您的回答让我开始检查IDE – 2012-04-08 08:25:15

0

这是一个较旧的职位,但它来了在我的搜索类似的答案。我发现创建一个字典而不是一个列表符合我的需求。您不能通过索引进行迭代,但如果您有一个离散列表,并且正在迭代第一个字符串“Key”,则可以轻松获得第二个字符串“Value”。

这里是一个计算器后举例: What is the best way to iterate over a Dictionary in C#?