我如何从列表中的KeyValuePair检索值

本文关键字:KeyValuePair 检索 列表 | 更新日期: 2023-09-27 18:18:07

我有以下列表,我需要在其上运行Contains()或类似的方法来检索与特定键相关的值。我该怎么做呢?我到处都找过了,试了很多方法,可就是找不出来。

List<KeyValuePair<string, int>> shopInventory = new List<KeyValuePair<string, int>>();

我想应该是这样的:

shopInventory.Contains((KeyValuePair<string, int>

如果我遗漏了什么重要的信息,我很乐意提供给你。

我如何从列表中的KeyValuePair检索值

您可以使用LINQ。

return shopInventory.First(c => c.Key == key).Value;

当然,你也可能需要在此基础上进行错误处理。

你也可以使用ToDictionary如果你经常使用的话

您可以使用Where(...)

shopInventory.Where (kvp => kvp.Key == searchKey).Count() > 0

如果至少有一对键值等于searchKey

,则上述表达式将返回true

如果您想对与提供的searchKey匹配的所有对做一些事情,那么您可以将.Count() > 0留在外面并对表达式的结果做一些事情。