【发布时间】:2016-04-16 17:32:22
【问题描述】:
所以我需要存储如下所示的数据:
map[x,y] = z;
map[1,3] = 5;
map[2,6] = 8;
问题是 x 和 y 的长度未知。我假设我需要 List 或 Dictionary 之类的东西,但我不确定是哪一个或如何实现它(添加并从中获取值)。
【问题讨论】:
-
他们将这些信息隐藏在MSDN
-
永远未知长度,还是仅在您开始时?你认为这里人口稠密吗?会有多大?从根本上说,您可以使用
Dictionary<Tuple<int, int>, int>,但这可能效率很低。 -
数据真的和你的例子一样稀疏吗?到目前为止,您有一个具有 2 个值的 2x6 矩阵。如果是这样,我会查找 C# 稀疏矩阵,看看你得到了什么。如果 x 和 y 在运行时可能非常大,这一点尤其重要,如果使用完整的数组实现,您将耗尽内存。
-
是否需要将其存储在数组或给定类型的多维列表/数组中。还是仅仅是添加、查找和删除的要求。是否有某种特殊的运行时要求。如果不是,我只会创建一个托管字典类。
标签: c# arrays list dictionary