【问题标题】:How do I retrieve a Value from a KeyValuePair inside a List?如何从 List 中的 KeyValuePair 检索值?
【发布时间】:2014-10-07 13:07:53
【问题描述】:

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

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

我认为它是这样的:

shopInventory.Contains((KeyValuePair<string, int>

如果我忘记提供任何重要信息,我很乐意提供。

【问题讨论】:

  • 为什么要使用 KeyValuePair 列表?

标签: c# list contain keyvaluepair


【解决方案1】:

您可以使用 LINQ。

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

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

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

【讨论】:

  • 谢谢!我想我尝试过类似的事情,但我没有输入“.Value”。现在一切正常。
【解决方案2】:

您可以使用Where(...)

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

如果您至少存在一对密钥等于searchKey,则上述表达式将返回true

如果您想对与提供的 searchKey 匹配的所有对执行某些操作,则可以将 .Count() &gt; 0 保留在外,并使用表达式的结果执行某些操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2021-03-19
    • 2010-11-22
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多