相关疑难解决方法(0)

C#中的双向1对1字典

我正在寻找C#(2)中的通用双向1到1字典类,即.a BiDictionaryOneToOne<T, S>保证只包含每个值和键中的一个(无论如何最多为RefEquals),并且可以使用键或值进行搜索.有人知道,或者我应该自己实施吗?我不敢相信我是第一个需要这个的人......

在这个问题的答案中有一个BiDictionary ,但它不适用于唯一元素(并且也不实现RemoveByFirst(T t)或RemoveBySecond(S s)).

谢谢!

.net c# collections

98
推荐指数
3
解决办法
2万
查看次数

双向字典?

我有两组对象,在某些情况下,第一组将用作另一组的键,而在其他情况下,第二组将用作第一组的键.此外,两个列表中都不得有重复项.

什么是一个好的数据结构用于此?我应该使用两个字典还是有更聪明的方法?

c# data-structures

22
推荐指数
1
解决办法
2万
查看次数

双向映射的数据结构

现在,在你责骂我之前,我知道有一个非常相似的问题:

双向映射的最佳数据结构?

事实上,我正在寻找一种能够完成同样事情的数据结构。具体来说,我有一个字符串应该映射到另一个字符串,并且其他字符串也应该映射到原始字符串。

例如:

".jpg" -> "image/jpeg"
"image/jpeg" -> ".jpg"
Run Code Online (Sandbox Code Playgroud)

链接的问题建议使用某种哈希图或Dictionary<string,string>来完成此任务。

人们将拥有一种自定义数据类型,该类型将保存两个字典,每个字典都是一种映射方式。这将提供 O(1),但我发现它根本不可扩展。

考虑到我有一个字典,其中包含从 200 个 MIME 类型到关联文件扩展名的所有映射,我需要创建一个类似的字典,内容相同但相反。这很容易出现拼写错误或丢失键,并且有很多重复的代码。

虽然链接的问题旨在Java中的解决方案,但我正在寻找C#中的解决方案。

是否有.NET 数据结构支持对象之间的这种双向映射?

如果没有,我如何在不复制代码的情况下完成此任务(如两个字典解决方案中所示)?

c# mapping types data-structures

2
推荐指数
1
解决办法
4570
查看次数

标签 统计

c# ×3

data-structures ×2

.net ×1

collections ×1

mapping ×1

types ×1