如何从字典中的列表中搜索<​​string,List <string >>

use*_*050 3 c# linq dictionary

如果我有一本字典 <string, List<string>>.(例如<12345,List <"ABC","456","123">>并且我想拉出键'12345',其中我在列表中的每个条目的字符串列表中有"456".所以我的结果将是另一个列表.这不是用linq语句完成的吗?

Jon*_*eet 8

这不是用linq语句完成的吗?

当然.它效率,但很简单:

var input = "456";
var matchingKeys = dictionary.Where(kvp => kvp.Value.Contains(input))
                             .Select(kvp => kvp.Key);
Run Code Online (Sandbox Code Playgroud)

如果您希望它也有效,那么您也应该存储反向映射,并将它们一起更新.