ShortTools.MagicContainer 1.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package ShortTools.MagicContainer --version 1.0.3
                    
NuGet\Install-Package ShortTools.MagicContainer -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ShortTools.MagicContainer" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ShortTools.MagicContainer" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="ShortTools.MagicContainer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ShortTools.MagicContainer --version 1.0.3
                    
#r "nuget: ShortTools.MagicContainer, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ShortTools.MagicContainer@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ShortTools.MagicContainer&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=ShortTools.MagicContainer&version=1.0.3
                    
Install as a Cake Tool

ShortTools.12MagicContainer

This project was inspired by "Pezzza's Work" on YouTube, specifically this Video. The main benefit of using this container rather than another container such as a list is that this container has a O(1) access, deletion, and insertion. This makes it ideal for games where you are constantly removing and adding enemies, especially if the amount of enemies stays roughly consistent and the size of the enemy class is significantly bigger than 2 integers.

This container does require 2 integers to be allocated per item, meaning that if the memory is a significant worry and the size of the class is small, this may not be ideal.

Usage should be very similar to any other collection, especially a list.

Note that if you remove an object at index i, that index will be a deleted index, so if you try and access it again it will error.

Iterating through this collection is a thread safe operation, allowing you to iterate through it while another thread modifies it.

Any suggestions please let me know at shortie.coding@gmail.com

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3.2 92 2/25/2026
1.0.3.1 82 2/25/2026
1.0.3 90 2/19/2026
1.0.2 109 2/10/2026
1.0.1 99 2/8/2026
1.0.0 100 2/8/2026