选择键和返回值或选择值和返回键

本文关键字:选择 返回 返回值 | 更新日期: 2023-09-27 18:33:28

我想有一种非常简洁的方法可以做到这一点,但我是.NET的新手。我有一堆用于映射的对。不过,映射是双向的。我想存储它们一次,就像这样:

{"a", "a'"},
{"b", "b'"},
...

使用Dictionary什么的。我知道我可以使用 linq 轻松查询字典,但是如果我查询值或输入键,我如何有条件地让它返回键或返回值?例如,如果输入b',则输出b 。如果输入a,则输出a'

顺便说一下,数据结构不一定是字典。我只想要最简洁的存储方式和最简洁的检索方式。这不是性能密集型的。

选择键和返回值或选择值和返回键

最简洁的方法是使用字典并将所有内容放入其中,例如:

{ "a", "a'" }
{ "a'", "a" }
{ "b", "b'" }
{ "b'", "b" }

查找和使用将快速而清晰

创建字典扩展方法。

public static string Retrieve(this Dictionary<string,string> dictionary, string value)
    {
        var item = (from v in dictionary
                    where v.Key == value || v.Value == value
                    select (v.Key == value) ? v.Value : v.Key
                    ).FirstOrDefault();
        return item;
    }