我有以下列表,我需要在其上运行Contains()或类似的方法来检索与特定键关联的值。我该怎么做?我到处搜索并试了很多东西,但我似乎无法弄明白。
List<KeyValuePair<string, int>> shopInventory = new List<KeyValuePair<string, int>>();
我认为这有点像:
shopInventory.Contains((KeyValuePair<string, int>
如果我忽略了包含任何重要信息,我将很乐意提供它。
答案 0 :(得分:2)
您可以使用LINQ。
return shopInventory.First(c => c.Key == key).Value;
当然,您可能也希望在此基础上进行错误处理。
如果您经常使用它,也可以使用ToDictionary。
答案 1 :(得分:0)
您可以使用Where(...)
shopInventory.Where (kvp => kvp.Key == searchKey).Count() > 0
如果您的至少一对密钥等于searchKey
如果你想对所有与提供的searchKey匹配的对做一些事情,那么你可以让.Count() > 0
离开并对表达式的结果做一些事情。