如何获取字典值的键

时间:2014-07-09 08:04:40

标签: c# dictionary

class Program
{
    static void Main(string[] args)
    {


        Dictionary<int, seq> compare = new Dictionary<int, seq>();
        compare.Add(1,new seq("x1",4));
        compare.Add(2,new seq("x2",1));
        compare.Add(3, new seq("x3", 2));
        compare.Add(4, new seq("x4", 3));          

    }
}
 class seq
 {

    private string Name;
    private int Random;
    public seq(string name,int rand)
    {            
        Name = name;
        Random = rand;
    }

}

对于Random我想得到它的钥匙 请帮帮我

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

int random = "the value you are looking for it's key";
var result = compare.Where(x=>x.Value.Random == random).Select(x=>x.Key);

但是,我们必须指出结果将是keys的一般序列,因为相同的random值可能包含在许多seq个对象中,包含在在名为compare的字典中。

如果您确定您要查找的每个seq值只有一个random对象,那么您必须将上述代码更改为以下代码:

var key =  compare.Where(x=>x.Value.Random == random).Select(x=>x.Key).Single();