问题描述
我需要某种类似于字典的结构,但关键是一个 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);