如何创建一个具有三维键的字典

4
我需要一种类似于字典的结构,但是键是一个由3个整数表示的三维点。
Ball b1 = new Ball();
Ball b2 = new Ball();

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

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

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

有更好的方法吗?

1个回答

13

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

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

1
这是正确的答案,因为元组中的所有项都可以作为字典的键。 - John Alexiou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接