<PackageReference Include="NETStandard.Library" Version="2.0.1" />

System.Collections.ObjectModel.KeyedCollection<TKey, TItem>

public abstract class KeyedCollection<TKey, TItem> : Collection<TItem>
namespace System.Collections.ObjectModel { public abstract class KeyedCollection<TKey, TItem> : Collection<TItem> { public IEqualityComparer<TKey> Comparer { get; } protected IDictionary<TKey, TItem> Dictionary { get; } public TItem this[TKey key] { get; } protected KeyedCollection(); protected KeyedCollection(IEqualityComparer<TKey> comparer); protected KeyedCollection(IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold); protected void ChangeItemKey(TItem item, TKey newKey); public bool Contains(TKey key); protected abstract TKey GetKeyForItem(TItem item); public bool Remove(TKey key); } }