想象我有一个清单
List<String> B
和一本字典
Dictionary<String, int> A
如何使用Linq返回使用B中的键从A过滤的Dictionary < String,int >?
简单,Where用于过滤键/值对,然后ToDictionary构建新词典.
var c = A.Where(pair => B.Contains(pair.Key))
.ToDictionary(pair => pair.Key, pair => pair.Value);
Run Code Online (Sandbox Code Playgroud)
如果你有很多条目,你可能想要创建HashSet<string>第一个:
var strings = new HashSet<string>(B);
var c = A.Where(pair => strings.Contains(pair.Key))
.ToDictionary(pair => pair.Key, pair => pair.Value);
Run Code Online (Sandbox Code Playgroud)
这样可以更快地测试每个密钥.
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |