如何获取字典值的键

本文关键字:字典 获取 何获取 | 更新日期: 2023-09-27 18:12:01

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

对于随机,我想要得到它的键

如何获取字典值的键

你可以尝试这样做:

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的字典中。

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

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