如何使用 3 维键创建字典

问题描述

我需要某种类似于字典的结构,但关键是一个 3D 点(由 3 个整数表示)。

Ball b1 = new Ball();
Ball b2 = new Ball();

D[-1,3,29] = b1;
D[9,3] = b2;

我正在考虑创建这样的东西:

Dictionary<int,Dictionary<int,Ball>>> D = new ...

有更好的方法吗?

解决方法

ValueTuple 与简单类型一起使用时具有适当的相等性和哈希码行为。因此,您可以在字典中使用它们(并且很合适)。

var dict = new Dictionary<(int,int,int),something>
dict.Add((1,2,3),sometthing);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...