Я использую HashSet<T>
для хранения коллекции объектов. У этих объектов уже есть уникальный идентификатор System.Guid
, поэтому я предпочел бы, чтобы HashSet<>
использовал этот существующий идентификатор, а затем пытался выяснить, как хэш-объект. Как переопределить сборку в хэшировании и заставить мою программу использовать значение build in ID в качестве значения хэша?Как контролировать хэширование объекта с помощью hashset
говорят Также я знаю Guid
объекта в моем HashSet<>
, есть ли способ, чтобы получить объект из HashSet<T>
, основываясь только на этом Guid
? Или я должен использовать словарь вместо этого.
Будьте осторожны, так как KeyedCollection по умолчанию использует словарь по умолчанию: -P Из документации «По умолчанию , KeyedCollection включает в себя поиск Словарь. Когда элемент добавляется в KeyedCollection , ключ элемента извлекается один раз и сохраняется в поисковом словаре для более быстрого поиска. » –