带有键的字典派生自Object值的属性?

时间:2016-05-18 10:36:43

标签: c# collections redundancy

我想使用Dictionary来保存对象集合,因为最常见的操作是获取特定的唯一实体。这些实体已经有了ID,所以我希望能够使用此ID属性而不是任何其他索引或标识符来获取它们。我天真的方法是在将每个对象的ID插入字典之前获取它,并使用该值作为键。但有更好的方法吗?我保持这种一般性,因为我觉得它在使用字典的语言中是通用的,而我几乎要问程序员,但我从实现细节角度和最佳实践角度来看这个问题。

  • 是否有任何方法(在C#中)使密钥成为对象自己的ID的引用,如果有,那么这样做是否有价值?
  • 如果对象ID是只读的,并且在插入时始终从每个对象获取密钥,我是否还要担心我有数据冗余这一事实?
  • 在查询集合中对象的实际属性时,是否有任何方法可以匹配字典的查找速度,从而避免冗余?
  • 删除冗余的更好方法是从对象中删除ID属性,并将其字典键作为唯一标识符吗?
  • 我不必担心这件事吗?

编辑:只是为了澄清,这主要不是另一个新手做的过早优化查询 - 我更担心数据冗余,以及这是否算作数据冗余,如果这是一种形式的人们对此有任何意见。

0 个答案:

没有答案