Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.2.1-preview-567" />

 ExpandableArray<TItem>

class ExpandableArray<TItem> : IEnumerable<TItem>, IEnumerable
public int Length

protected TItem[] Repository

public bool IsEmpty { get; }

public ref TItem this[int i] { get; }

public ExpandableArray()

public ExpandableArray(IEnumerable<TItem> initial)

public static ExpandableArray<TItem> FromEnumerable(IEnumerable<TItem> initial)

public void Add(TItem item)

public void AddOrKeep(TItem item)

public void AddRange(IEnumerable<TItem> items)

public TItem[] AsArray()

public bool Contains(TItem element)

public bool ContainsReference(TItem element)

protected int EnsureSize(int increaseAmount = 1)

public IEnumerator<TItem> GetEnumerator()

public int IndexOf(TItem element)