c# - 实现一个 Dictionary<int, Dictionary<int, int>>,键的顺序?

标签 c#

我可以选择把 key 放在哪里;

 Dictionary<key1, Dictionary<key2, int>>
 Dictionary<key2, Dictionary<key1, int>>

如果 key1 比 key2 小 32 倍

我应该实现哪一个才能获得最大速度?

这还重要吗?

有更好的方法来实现吗?

最佳答案

通过实现复合键,您可能会获得最佳性能:

struct Key { key1; key2; }

实现EqualsGetHashCode为此(更好的是 IEquatable<Key> 界面)。

使用这种模式,您只需要一本字典和一次哈希查找。

关于c# - 实现一个 Dictionary<int, Dictionary<int, int>>,键的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406167/

相关文章:

c# - 将 Bot 框架与 LUIS 连接。我应该使用哪个 AppId 和 AppKey?

C# + XAML - UI 在更改后没有得到更新

c# - 如何在 C# 中为 cmdlet 添加概要/摘要?

Task<> 对象上的 C# async/await Progress 事件

c# - 在 C# 中优化多个调度通知算法?

c# - 这是清除 C# MemoryCache 的好解决方案吗?

c# - 导出 CSV 文件 C#4 时处理引号内的逗号。任何建议

c# - 使用NAudio录音时如何显示录音时间?

c# - 用户控件上的设计和运行时绑定(bind)错误

c# - AutoMapper 将目标对象上的属性设置为 null