Velentr.Collections
3.1.0.7
dotnet add package Velentr.Collections --version 3.1.0.7
NuGet\Install-Package Velentr.Collections -Version 3.1.0.7
<PackageReference Include="Velentr.Collections" Version="3.1.0.7" />
<PackageVersion Include="Velentr.Collections" Version="3.1.0.7" />
<PackageReference Include="Velentr.Collections" />
paket add Velentr.Collections --version 3.1.0.7
#r "nuget: Velentr.Collections, 3.1.0.7"
#:package Velentr.Collections@3.1.0.7
#addin nuget:?package=Velentr.Collections&version=3.1.0.7
#tool nuget:?package=Velentr.Collections&version=3.1.0.7
Velentr.Collections

A variety of helpful collections, with a focus on thread-safety.
Installation
Nuget
The recommended installation approach is to use the available nuget package: Velentr.Collections
Clone
Alternatively, you can clone this repo and reference the Velentr.Collections project in your project.
Available Collections
| Collection | Description | Min Supported Library Version | Documentation |
|---|---|---|---|
| BiDirectionalDictionary | A dictionary where you can access the value for a given key, and the key for a given value | 1.2.0 | Documentation |
| DefaultDictionary | A dictionary that will return a default value if the key is not found. | 3.1.0 | Documentation |
| SizeLimitedList | A list that is limited in maximum capacity and will automatically remove items when it reaches capacity | 1.1.0 | Documentation |
| SizeLimitedDictionary | A dictionary that is limited in maximum capacity and will automatically remove items when it reaches capacity | 1.1.0 | Documentation |
| Pool | A pool of objects that can be used to hold objects and define a maximum amount. More efficient generally for games as it can help reduce garbage collection | 1.0.0 | Documentation |
| History | A collection that keeps track of the history of items added and removed from it. It can be used to track changes over time. | 1.0.0 | Documentation |
| ConcurrentPriorityQueue | A thread-safe priority queue where the item with the lowest priority is returned on dequeue | 1.0.0 | Documentation |
| ConcurrentPool | A thread-safe pool of objects that can be used to hold objects and define a maximum amount. More efficient generally for games as it can help reduce garbage collection | 1.0.0 | Documentation |
| ConcurrentSizeLimitedList | A thread-safe list that is limited in maximum capacity and automatically removes excess items when it is full | 1.0.0 | Documentation |
| LockFreePriorityQueue | A lock-free priority queue where the item with the lowest priority is returned on dequeue | 1.0.0 | Documentation |
| LockFreeList | A lock-free linked list implementation | 1.0.0 | Documentation |
| LockFreeQueue | A lock-free queue implementation | 1.0.0 | Documentation |
| LockFreeStack | A lock-free stack implementation | 1.0.0 | Documentation |
NOTES:
- Collections.Concurrent collections: Collections under this namespace utilize .NET Concurrent collections
- Lock-Free: Collections under this namespace utilize custom lock-free base collections
Future Collections
- LockFreeArrayList: A lock-free array list implementation
- LockFreePool: A lock-free pool implementation. Previously was implemented in this library, but removed due to testing results and need for heavy refactoring.
Deprecated Collections
| Collection | Deprecation Reason | Deprecation Library Version | Max Available Library Version |
|---|---|---|---|
| DictionaryCache | Use .NET ImmutableDictionary instead. | 2.0.2 | 2.0.2 |
| OrderedDictionary | Use .NET OrderedDictionary instead. | 2.0.2 | 2.0.2 |
| SizeLimitedPool | Use Velentr.Collections.Pool instead. | 2.0.2 | 2.0.2 |
| HistoryCollection | Use Velentr.Collections.History instead. | 2.0.2 | 2.0.2 |
| LockFreePool | In need of heavy refactoring and testing. | 2.0.2 | 2.0.2 |
| LockFreeLimitedPriorityQueue | Use Velentr.Collections.LockFree.LockFreePriorityQueue instead. | 2.0.2 | 2.0.2 |
| ConcurrentLimitedPriorityQueue | Use Velentr.Collections.Concurrent.ConcurrentPriorityQueue instead. | 2.0.2 | 2.0.2 |
Development
- Clone or fork the repo
- Create a new branch
- Code!
- Push your changes and open a PR
- Once approved, they'll be merged in
- Profit!
Future Plans
See list of issues under the Milestones: https://github.com/vonderborch/Velentr.Collections/milestones
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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. |
-
net9.0
- Velentr.Core (>= 3.2.0)
NuGet packages (17)
Showing the top 5 NuGet packages that depend on Velentr.Collections:
| Package | Downloads |
|---|---|
|
Velentr.Miscellaneous
Miscellaneous helper methods and things that are useful for various purposes. |
|
|
Velentr.Font.Monogame
An alternative solution for Monogame/FNA/XNA-derived frameworks that utilizes SharpFont to draw text rather than the traditional SpriteFont approach. |
|
|
Velentr.Font.FNA
An alternative solution for Monogame/FNA/XNA-derived frameworks that utilizes SharpFont to draw text rather than the traditional SpriteFont approach. |
|
|
Velentr.Input.FNA
A simple and easy-to-use input library for XNA/Monogame/FNA. |
|
|
Velentr.Logging
A simple, extensible, and easy-to-use logging library. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.0.7 | 331 | 5/19/2025 |
| 3.0.1.3 | 375 | 5/15/2025 |
| 3.0.0.2 | 360 | 5/15/2025 |
| 3.0.0.1 | 365 | 5/15/2025 |
| 2.0.2 | 1,388 | 11/17/2022 |
| 2.0.1 | 462 | 11/17/2022 |
| 2.0.0 | 484 | 11/17/2022 |
| 1.2.3 | 820 | 7/26/2022 |
| 1.2.2 | 1,618 | 5/20/2022 |
| 1.2.1 | 562 | 5/20/2022 |
| 1.2.0 | 5,839 | 11/10/2021 |
| 1.1.3 | 3,477 | 4/28/2021 |
| 1.1.2 | 708 | 4/28/2021 |
| 1.1.1 | 536 | 4/28/2021 |
| 1.1.0 | 551 | 4/28/2021 |
| 1.0.5 | 1,687 | 4/15/2021 |
| 1.0.4 | 574 | 4/15/2021 |
| 1.0.3 | 1,263 | 4/15/2021 |
| 1.0.2 | 537 | 4/15/2021 |
| 1.0.1 | 3,073 | 4/6/2021 |