C#中List的2维数组?

时间:2012-04-08 07:50:17

标签: c# arrays list

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

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

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

2 个答案:

答案 0 :(得分:5)

“不起作用”是什么意思?你得到什么错误?

我不知道Mono(或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" };

答案 1 :(得分:0)

这是一篇较旧的帖子,但是我在寻找类似的答案时提出了这个问题。我发现创建一个Dictionary而不是List符合我的需求。你不能通过索引进行迭代,但是如果你有一个离散的列表并且你正在迭代第一个字符串&#34; Key&#34;,你可以很容易地获得第二个字符串&#34; Value&#34;。

这是一个带有示例的stackoverflow帖子: What is the best way to iterate over a Dictionary in C#?