Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="2.8.8" />

 ArrayStoreKeyed<TKey, TValue>

class ArrayStoreKeyed<TKey, TValue> : IEnumerable<TValue>, IEnumerable
public static readonly ArrayStoreKeyed<TKey, TValue> Empty

public TValue this[int i] { get; }

public TValue Last { get; }

public int Length { get; }

public KeyValue<TKey, TValue>[] Repository { get; }

public ArrayStoreKeyed()

public ArrayStoreKeyed<TKey, TValue> Add(TKey key, TValue value)

public ArrayStoreKeyed<TKey, TValue> AddOrUpdate(TKey key, TValue value, bool allowUpdate = true)

public IEnumerator<TValue> GetEnumerator()

public KeyValuePair<TKey, TValue> GetKeyValue(int i)

public TValue GetOrDefault(TKey key)