c# - "Dictionary"键作为存储元素的一部分?

标签 c# dictionary

好像我忘记了一个类型名……我脑子里的某个东西不断告诉我,我偶然发现了一个基本上使用用户定义的比较器进行查找的字典。但不知何故,我再也无法在 .Net 的深处找到那个类了。

由于我真的不知道如何在不描述可能的实现的情况下描述我正在寻找的东西,所以我还将举例说明我不想做的事情。

我基本上是在寻找一种方法来实现以下目标(伪代码):

class CustomId
{
   // [...]
}
class Element
{
   CustomId id;
}
Container<CustomId, Element> myContainer = new Container(myCustomComparer)
myContainer.Add(new Element()) // No key specified
myElement = myContainer[new CustomId(...)]; // Retrieval with custom id

从技术上讲,这可能不是一本字典,但我希望这个想法很清楚。基本上,键是存储元素的一部分。

最佳答案

我想你在找KeyedCollection<TKey, TItem> .创建一个继承自此类的类并覆盖 GetKeyForItem()方法。

关于c# - "Dictionary"键作为存储元素的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3728487/

相关文章:

python - 如何使用dictionary/json在yaml中添加 '-'?

ios - Swift - 设置字典的行数

python - 在字典中查找键的最快方法

c# - 在 List<object> 中查找对象的更有效方法

c# - 使用多个 id 从列表中选择项目

c# - 如何用值填充特定的 DataTable 列

python - Elasticsearch (Elasticsearch Curator) Python API。获取 ES 索引及其大小的字典

c# - 如何根据某些条件(本地报告)为 tablix 中的单元格指定文本颜色?

c# - 不同 Controller 中的 OData 自定义路由约定

c++ - std::map 不删除自定义对象的重复项