4

我有以下列表,我需要在其上运行 Contains() 或类似方法来检索与特定键关联的值。我该怎么做?我到处搜索并尝试了很多东西,但我似乎无法弄清楚。

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

我会假设它是这样的:

shopInventory.Contains((KeyValuePair<string, int>

如果我忽略了包含任何重要信息,我将很乐意提供。

4

2 回答 2

4

您可以使用 LINQ。

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

当然,您可能还希望在此之上进行错误处理。

如果你经常使用它,你也可以使用 ToDictionary。

于 2014-08-14T01:19:55.153 回答
0

您可以使用Where(...)

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

如果您至少存在一对密钥等于searchKey

如果您想对与提供的 searchKey 匹配的所有对执行某些操作,那么您可以.Count() > 0省略该表达式的结果并执行某些操作。

于 2014-08-14T01:25:39.500 回答