В C# как я могу фильтровать SortedDictionary, используя LINQ, создавая подмножество, которое также является SortedDictionary? Например. Я хотел бы написатьПолучение подмножества SortedDictionary как SortedDictionary
SortedDictionary<int, Person> source = ..fetch..
SortedDictionary<int, Person> filtered = source.Where(x=>x.foo == bar)
Единственный способ я нашел, чтобы создать вспомогательный метод и использовать его
SortedDictionary<TKey, TValue> SubDictionary<TKey, TValue> IEnumerable<KeyValuePair<TKey, TValue>> l)
{
SortedDictionary<TKey, TValue> result = new SortedDictionary<TKey, TValue>();
foreach (var e in l)
result[e.Key] = e.Value;
return result;
}
...
SortedDictionary<int, Person> source = ..fetch..
SortedDictionary<int, Person> filtered = SubDictionary(source.Where(x=>x.foo == bar))