5

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

有谁知道怎么了?谢谢你。

4

2 回答 2

6

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

我不了解 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" };
于 2012-04-08T08:13:20.860 回答
0

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

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

于 2014-03-31T15:18:55.673 回答