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

时间:2013-10-02 01:21:21

标签: c# .net dictionary

我想有一种非常简洁的方法可以做到这一点,但我是.NET的新手。我有一堆映射对。虽然映射有两种方式。我想把它们存储一次,就像这样:

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

使用Dictionary或其他内容。我知道我可以使用linq轻松查询字典,但是如果我查询一个值或者如果我输入一个键,我怎么能有条件地让它返回键呢?例如,如果输入b',则输出b。如果输入a,请输出a'

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

2 个答案:

答案 0 :(得分:3)

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

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

查找和使用将快速而清晰

答案 1 :(得分:2)

创建字典扩展方法。

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;
    }