У меня есть большой список объектов, где мне иногда нужно перебирать весь список, а иногда я хочу посмотреть только на объекты, где .Property = "somevalue".
В настоящее время я просматриваю свою коллекцию .Where(_ => _.Property="value_i_need")
, которая стоит дорого, если у меня загружено 100 тыс. Объектов, и в моей целевой группе только горстка.
Итак, я хотел бы сохранить список сегментированным, возможно, как Dictionary<string, List<T>>
, чтобы я мог быстро ссылаться только на набор объектов, которые я хочу, но если я сделаю это, как можно перечислить всеобъекты во всех словарях, использующих Linq без использования дополнительной памяти для поддержания регулярного списка?