C# 在列表中查找KeyValuePair

C# 在列表中查找KeyValuePair,c#,list,C#,List,如果我有 List<KeyValuePair<int, string>> d 列表d 我知道字符串,但我想找到它的整数。 如何在此列表中找到keyvaluepair?您可以这样写: var result = d.Where(kvp => kvp.Value == "something"); result将包含值为“something”的所有KeyValuePair如果项是唯一的,则可以使用LINQ或SingleOrDefault: KeyValuePair&

如果我有

 List<KeyValuePair<int, string>> d
列表d
我知道字符串,但我想找到它的整数。 如何在此列表中找到keyvaluepair?

您可以这样写:

var result = d.Where(kvp => kvp.Value == "something");

result
将包含值为
“something”
的所有
KeyValuePair
如果项是唯一的,则可以使用
LINQ
SingleOrDefault

KeyValuePair<int, string> v = d.SingleOrDefault(x => x.Value == "mystring");
int key = v.Key;
如果项目不是唯一的,但您希望在非唯一项目中获得第一个,请使用
first
FirstOrDefault

var v = d.FirstOrDefault(x => x.Value == "mystring");
int key = v.Key;
使用以下命令:

d.FirstOrDefault(x=>x.Value == "yoursearchvalue").Key;

许多可能的解决方案之一:

   List<KeyValuePair<int, string>> list = new List<KeyValuePair<int, string>>()
                {
                    new KeyValuePair<int, string>(1, "a"),
                    new KeyValuePair<int, string>(2, "b")
                };

    var pair = list.FirstOrDefault(x => x.Value == "b");
    // or you can also use list.Find(x => x.Value == "b");

    Console.WriteLine(pair.Value);
    Console.WriteLine(pair.Key);
List List=新列表()
{
新的KeyValuePair(1,“a”),
新的KeyValuePair(2,“b”)
};
变量对=list.FirstOrDefault(x=>x.Value==“b”);
//或者您也可以使用list.Find(x=>x.Value==“b”);
控制台写入线(对值);
控制台写入线(配对键);

是的,但我只需要keyvaluepair对象。从那时起,我可以得到整数(关键成员)。我在问题中问:“我知道字符串,但我想找到它的整数。”。
   List<KeyValuePair<int, string>> list = new List<KeyValuePair<int, string>>()
                {
                    new KeyValuePair<int, string>(1, "a"),
                    new KeyValuePair<int, string>(2, "b")
                };

    var pair = list.FirstOrDefault(x => x.Value == "b");
    // or you can also use list.Find(x => x.Value == "b");

    Console.WriteLine(pair.Value);
    Console.WriteLine(pair.Key);