【发布时间】:2012-04-28 03:41:35
【问题描述】:
我想知道是否有人知道一种存储数据的好方法,以便使用两个键对其进行索引。基本上,我需要一个表格(顶行是 key1,左列是 key2,字母是从索引返回的值):
[ ] [1] [2] [3] [4]
[1] [A] [B] [C] [D]
[2] [B] [E] [F] [G]
[3] [C] [F] [H] [I]
[4] [D] [G] [I] [J]
我可以很容易地将它实现为一个多维数组,但是由于一半的表总是相同的,它似乎是多余的。到目前为止,我能想出的最佳解决方案涉及二维列表,第二维是可变长度,同时强制两个键中较大或较小的键首先被索引。这会将表格变成:
[ ] [1] [2] [3] [4]
[1] [A]
[2] [B] [E]
[3] [C] [F] [H]
[4] [D] [G] [I] [J]
有人有更好的想法吗?
编辑:我可能自己想出了一个解决方案。见 cmets。
【问题讨论】:
-
您的描述不清楚。我不知道第一张图片(带有 A、B、C 等)应该传达什么。也许不用画图,你可以用英语来描述你想要存储什么,以及存储的数据与键的关系。
-
其实我想我可能只是想通了,虽然我没有测试过。我只需要使用带有键的字典作为自定义结构,其中包含用于索引的两个整数值。我还需要覆盖结构的等号运算符,以匹配顺序与键值无关的事实。我现在打算走这条路线,让我知道你对此的看法。谢谢!
-
这正是我想出的。
标签: c# collections