Badeend.ValueCollections
0.3.2
Prefix Reserved
dotnet add package Badeend.ValueCollections --version 0.3.2
NuGet\Install-Package Badeend.ValueCollections -Version 0.3.2
<PackageReference Include="Badeend.ValueCollections" Version="0.3.2" />
<PackageVersion Include="Badeend.ValueCollections" Version="0.3.2" />
<PackageReference Include="Badeend.ValueCollections" />
paket add Badeend.ValueCollections --version 0.3.2
#r "nuget: Badeend.ValueCollections, 0.3.2"
#:package Badeend.ValueCollections@0.3.2
#addin nuget:?package=Badeend.ValueCollections&version=0.3.2
#tool nuget:?package=Badeend.ValueCollections&version=0.3.2
Zero-overhead collection types with:
- Immutability: Once constructed, the collections cannot be changed anymore. Efficient construction can be done using so called Builders.
- Value equality: Two collections are considered "equal" when they have the same type and the same content.
The combination of these two properties neatly complement C# record types and streamline the implementation of Value Objects (DDD).
In general, the performance and memory usage is equivalent to the regular System.Collections.Generic types. Converting a Builder to an immutable instance is an O(1) operation.
Documentation & more information at: https://badeend.github.io/ValueCollections/
Shameless self-promotion
May I interest you in one of my other packages?
- Badeend.ValueCollections: Low overhead immutable collection types with structural equality.
- Badeend.EnumClass: Discriminated unions for C# with exhaustiveness checking.
- Badeend.Result: For failures that are not exceptional:
Result<T,E>for C#. - Badeend.Any: Holds any value of any type, without boxing small structs (up to 8 bytes).
- Badeend.Nothing: If you want to use
voidas a type parameter, but C# won't let you.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- Microsoft.Bcl.AsyncInterfaces (>= 1.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 1.0.0)
- Microsoft.Bcl.HashCode (>= 1.0.0)
- System.Memory (>= 4.5.0)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
-
.NETStandard 2.1
- System.Runtime.CompilerServices.Unsafe (>= 4.5.2)
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Badeend.ValueCollections:
| Package | Downloads |
|---|---|
|
Badeend.ValueCollections.SystemTextJson
System.Text.Json converters for Badeend.ValueCollections |
|
|
Badeend.ValueCollections.NewtonsoftJson
Newtonsoft.Json converters for Badeend.ValueCollections |
|
|
Badeend.ValueCollections.EntityFrameworkCore
Extension methods to asynchronously fetch Entity Framework Core `IQueryable<T>` results directly into ValueCollections. E.g. ToValueListAsync, etc. |
|
|
Badeend.ValueCollections.EntityFramework
Extension methods to asynchronously fetch "classical" Entity Framework `IQueryable<T>` results directly into ValueCollections. E.g. ToValueListAsync, etc. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.2 | 348 | 1/5/2025 |
| 0.3.1 | 314 | 1/4/2025 |
| 0.3.0 | 351 | 12/26/2024 |
| 0.2.0 | 689 | 6/5/2024 |
| 0.1.1 | 217 | 5/29/2024 |
| 0.1.0 | 232 | 5/3/2024 |
| 0.0.9 | 291 | 4/4/2024 |
| 0.0.8 | 209 | 4/3/2024 |
| 0.0.7 | 213 | 4/3/2024 |
| 0.0.6 | 165 | 4/3/2024 |
| 0.0.5 | 176 | 3/24/2024 |
| 0.0.4 | 174 | 3/23/2024 |
| 0.0.3 | 176 | 3/14/2024 |
| 0.0.2 | 167 | 3/14/2024 |
| 0.0.1 | 172 | 3/14/2024 |