我可以选择把 key 放在哪里;
Dictionary<key1, Dictionary<key2, int>>
Dictionary<key2, Dictionary<key1, int>>
如果 key1 比 key2 小 32 倍
我应该实现哪一个才能获得最大速度?
这还重要吗?
有更好的方法来实现吗?
最佳答案
通过实现复合键,您可能会获得最佳性能:
struct Key { key1; key2; }
实现Equals
和GetHashCode
为此(更好的是 IEquatable<Key>
界面)。
使用这种模式,您只需要一本字典和一次哈希查找。
关于c# - 实现一个 Dictionary<int, Dictionary<int, int>>,键的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406167/