Collections extensions to the C# collections that are useful for game programming.
Collections is part of MonoGame.Extended and is distributed via a NuGet package. You can add the NuGet package to your C# project through your IDE of choice (Visual Studio, Xamarin Studio, Rider, etc) or through the Command Line Interface (CLI) using the dotnet command.
Bag is an un-ordered array of items with fast
It is much faster than an array when removing items, and takes less space than a linked list.
Bag will resize itself only when it needs to.
Represents a collection of objects in which elements can be added to or removed either from the front or back. See double ended queue.
KeyedCollection is a wrapper around the
Dictionary class where the key is obtained by a delegate.
ObjectPool<T> allows reuse of memory for a group of items to avoid Garbage Collection.
More information is in the Object Pooling documentation.
ObservableCollection<T> manages an
IList<T> of items firing
Cleared events when the collection is changed.
Shuffle(Random) to all
Dictionary<> classes with