字典到键列表的条件匹配

本文关键字:条件 列表 字典 | 更新日期: 2023-09-27 18:17:32

假设我有这本字典:

ConcurrentDictionary<string, Location> connections;

我想从这个字典中得到一个键的列表,这些键的值符合某些条件。例如:

List<string> users = connections.Where(x.Value.IsNearby(anotherLocation)).ToDictionary(x => x.Key, x => x.Value).Keys.ToList();

但是这很麻烦,因为它从一个字典到子字典,到一个键列表。有没有更优雅的方法?

字典到键列表的条件匹配

根本不清楚为什么会有ToDictionary呼叫。你只需要一个Select呼叫:

List<string> users = connections.Where(x => x.Value.IsNearby(anotherLocation)
                                .Select(x => x.Key)
                                .ToList();