尝试将多个对象映射到数组

时间:2018-04-17 15:04:35

标签: c# .net dictionary

我正在尝试解决一个问题,我将解释如下:

我有一个数组,我想要一个我称之为“set”的类型。该集包含特定类型的n个项的列表。我希望能够统一将特定类型的项目映射到特定的集合(使用与数据相关的密钥),但我希望该集合能够容纳n个项目,所以我需要能够将几个项目映射到特定的阵列位置(实际上,我希望发生冲突)。我首先虽然使用字典很容易,但后来我想:一个字典会将一个键映射到一个特定的插槽,但是如果发生碰撞,它会使用链接(基本上我想要做的,除了我想要的)将链的数量限制为n),并且存储桶中的每个链都是类型set..so这意味着我永远不能拥有我存储在任何特定集合中的多个数据对象,它将基本上是一堆集合,其中包含容纳该类型项目的1 / n的容量。

如果这是有道理的,任何人都可以给我任何关于如何实现我想要的想法吗?我想也许我可以为每个类型使用GetHashCode,然后使用模数arraySize但显然GetHashCode将没有用,除非我创建自己的实现,并且我想要存储的对象不会由我创建,所以我认为这不会起作用。

如果有人可以给我任何想法,或者需要我澄清,请告诉我。

0 个答案:

没有答案