【发布时间】:2011-10-13 22:47:15
【问题描述】:
我正在尝试根据部分或完全匹配的给定字符串抓取字典中的所有项目。
我尝试了以下代码,但似乎不起作用
a.Where(d => d.Value.Contains(text)).ToDictionary(d => d.Key, d => d.Value);
你能告诉我如何做到这一点吗?
【问题讨论】:
-
您能否定义“但似乎不起作用”?发生什么了?它会在火花中爆炸吗?它会给出空的结果吗?请假设我们需要知道您正在经历什么,以及这与您的预期有何不同(所以也请告诉我们您的预期)。
-
您的问题不清楚。在标题中它说找到 keys,但您的代码正在检查 values。也许你的意思是
d => d.Key.Contains(text)?? -
我希望这会有点慢;它可能必须遍历每个键条目,在这个用例中否定 Dictionary 的值。希望您不必经常这样做,否则您可能需要不同的数据结构(如果您有很多条目)。
标签: c# .net linq generics dictionary