Я сталкиваюсь с ситуациями, когда мне нужно отслеживать, если я обработал определенное значение. В этих случаях я использую Dictionary(Of TKey, TValue)
, чтобы отслеживать значения, которые я обработал. В принципе, по мере обработки каждого значения я вставляю обработанное значение в ключ в словарь. Когда я хочу увидеть, обработал ли я это значение, я использую метод ContainsKey
, чтобы узнать, существует ли значение в коллекции.Альтернатива словарю для быстрого поиска ключей?
Это хорошо работает, но мне нужно вставить что-то в сторону значения пары ключ-значение. Я бы просто использовал List(Of T)
, но я хочу, чтобы производительность поиска хеш-таблицы выполнялась в словаре. Есть ли сбор данных в .Net, который более подходит для этой цели?
Есть ли дополнительный ключ, который есть у 'TValue', который вы можете использовать? Если нет, то лучше всего использовать «Список» и поиск с использованием предиката. –
casperOne
@casperOne: Нет, мне просто нужен ключ. – poke
Если вы уже используете одно свойство, но не имеете второго свойства, чтобы отличать элементы в группе (вы действительно делаете «group by» здесь), то ни один словарь не поможет вам. – casperOne