【问题标题】:extract information from a dictionary从字典中提取信息
【发布时间】:2014-10-15 17:27:49
【问题描述】:

我有一本字典,其中键是产品代码,每个键下方的值是产品的一些细节(例如重量、颜色、价格等)。 现在假设代码循环通过我拥有的产品代码列表。 我想检查代码(在下面的代码中称为 myKey )是否在我的字典中,在这种情况下,我还想提取一些属性(在我的情况下只说颜色和价格)。我正在尝试以下但没有成功:

var myColour = myDictionary
    .Where(x => myDictionary.Keys.Contains(myKey))
    .Select(x => x.Value.Colour);

var myPrice = myDictionary
    .Where(x => myDictionary.Keys.Contains(myKey))
    .Select(x => x.Value.Price);

我没有任何错误,但我根本看不到存储在变量 myColor 和 myPrice 中的结果。

我的问题的正确语法是什么?

【问题讨论】:

    标签: c# linq dictionary


    【解决方案1】:

    你似乎把事情复杂化了。以下应该做你想要的。

    if (myDictionary.ContainsKey(myKey))
    {
        var theValue = myDictionary[myKey].SomeProperty
    }
    

    【讨论】:

      【解决方案2】:
      MyValueType myValue;
      if(myDictionary.TryGetValue(myKey, out myValue)){
          Console.Out.WriteLine(myValue.Colour);
          Console.Out.WriteLine(myValue.Price);
      }
      

      【讨论】:

      • 感谢您展示这个阐明如何使用 .TryGetValue() 的示例。很有帮助。
      猜你喜欢
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2020-08-02
      • 1970-01-01
      • 2021-06-04
      相关资源
      最近更新 更多