opt*_*opt 2 c# linq dictionary
我有一个字典,其中键是产品代码,每个键下面的值是产品的一些细节(例如重量,颜色,价格等).现在让我们说代码循环遍历我拥有的产品代码列表.我想检查代码(在下面的代码中称为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);
Run Code Online (Sandbox Code Playgroud)
我没有任何错误,但我只是没有看到结果存储在变量myColor和myPrice中.
我的问题的正确语法是什么?
你似乎过于复杂化了.以下应该做你想要的.
if (myDictionary.ContainsKey(myKey))
{
var theValue = myDictionary[myKey].SomeProperty
}
Run Code Online (Sandbox Code Playgroud)
MyValueType myValue;
if(myDictionary.TryGetValue(myKey, out myValue)){
Console.Out.WriteLine(myValue.Colour);
Console.Out.WriteLine(myValue.Price);
}
Run Code Online (Sandbox Code Playgroud)