kit*_*kun 4 c# linq dictionary
假设我有一个字典声明如下:
Dictionary<string, IData> map;
Run Code Online (Sandbox Code Playgroud)
我希望使用包含特定子字符串的键获取所有值,例如函数
public IEnumerable<IData> GetContains(string pattern) {}
Run Code Online (Sandbox Code Playgroud)
我想了解如何使用匹配模式的密钥列表
var result = mapData.Keys.Where(a => a.Contains(pattern)).ToArray()
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何重用返回的键来获取一个查询中的所有相应值.
Sel*_*enç 12
你可以用Where你的Dictionary,而不是Keys收集,然后用得到的值Select:
mapData.Where(kvp => kvp.Key.Contains(pattern)).Select(kvp => kvp.Value);
Run Code Online (Sandbox Code Playgroud)