在C#中的列表维度数组?

我只想在c#中获得一个2维的List数组。 在我的想法中,下面应该有效,但它没有,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>

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


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

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

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

这里是一个带有示例的stackoverflow帖子:什么是在C#中迭代字典的最佳方式?

链接地址: http://www.djcxy.com/p/30397.html

上一篇: Dimension array of List in C#?

下一篇: Dictionary.ElementAt method is visible in some classes, but not others