我有字典,比如
Dictionary<string, bool> accValues = new Dictionary<string, bool>()
我希望获得特定密钥的bool值。我可以通过foreach来做,比如
foreach (KeyValuePair<string, bool> keypair in accValues)
{
if (keypair.Key == "SomeString")
{
return keypair.Value;
}
}
但是如何实现使用Where函数?
答案 0 :(得分:7)
为什么迭代每个键/值对? 使用
accValues["SomeString"]
或者,如果您不希望在字典中不存在此类密钥时抛出异常:
accValue.TryGetValue("SomeString", out boolValue)
如果要查找与某个任意谓词匹配的键的值,可以使用如下语句:
accValues.Where(kvp => kvp.Key == "SomeString").Select(kvp => kvp.Value).FirstOrDefault();