Sundew.Base.Collections.Linq
12.0.9
See the version list below for details.
dotnet add package Sundew.Base.Collections.Linq --version 12.0.9
NuGet\Install-Package Sundew.Base.Collections.Linq -Version 12.0.9
<PackageReference Include="Sundew.Base.Collections.Linq" Version="12.0.9" />
paket add Sundew.Base.Collections.Linq --version 12.0.9
#r "nuget: Sundew.Base.Collections.Linq, 12.0.9"
// Install Sundew.Base.Collections.Linq as a Cake Addin #addin nuget:?package=Sundew.Base.Collections.Linq&version=12.0.9 // Install Sundew.Base.Collections.Linq as a Cake Tool #tool nuget:?package=Sundew.Base.Collections.Linq&version=12.0.9
Sundew.Base
Sundew.Base is a collection of smaller NuGet packages that work on various .NETStandard targets:
Collections
Contains various Linq style extension methods for collection types suchs IEnumerable, IReadOnlyList etc.
- For, ForEach, ForReverse, IndexOf, ToReadOnly.
- AllOrFailed extension allows seemless conversion from IEnumerable<TItem?> to IEnumerable<TItem>.
- OnlyOneOrDefault similar to SingleOrDefault, but never throws.
- DistinctInOrder items only appear once, while preserving order.
- ByCardinality extension allows checking whether an IEnumerable<TItem> is empty, has a single element or multiple elements.
- Value-Array, List and Dictionary* wrappers for Immutable collections with value semantics. (* Not on NETStandard1.2)
Primitives
- Result types (R<T, E> and R<E>)
- Option type T? (through extension methods).
Computation
- Attempter for implementing retry logic.
- Progress reporting
Numeric
- Interval represents an interval of two values.
- Percentage value type.
Time
- DateTime provider.
IO
- Paths - search upwards for relative paths.
Text
- AlignedString and AlignAndLimitFormatProvider providers aligning and length limiting string formatting.
- NamedFormatString allows to define a string format using names rather than indices.
- NaturalTextComparer does logical text comparison for all platforms with performance similar to the Windows specific StrCmpLogicalW.
- AppendItems allows joining items into a StringBuilder.
Initialization
- IInitializable for implementing async initialization logic.
- InitializeAction for wrapping an Action in an IInitializable.
- Initializer provides initialization of IInitializables.
- InitializeFlag for keeping tracking whether initialization is completed.
Disposal
- DisposeAction for wrapping an Action in an IDisposable.
- Disposer provides disposal of a fixed set of IDisposables.
- DisposableState provides an easy way to implement the Dispose(bool) pattern.
- DisposingDictionary allows building a list of IDisposables that supports disposal by a key and otherwise supports disposal in the same order.
- DisposingList allows building a list of IDisposables for disposal in the same order.
IAsyncDisposable is only supported on .NETStandard2.1
Equality
- ReferenceEqualityComparer compares objects by reference.
- TargetEqualityWeakReference is a weak reference that implements equality based on target equality.
Memory
- Buffer allows building arrays
- Split extensions allows Linq style splitting memory in to segments.
Threading and Threading.Jobs
- AsyncLazy provides a cancellable async lazy implementation
- AsyncLock provides async locking.
- Flag is an Interlocked.Exchanged based flag.
- CancellableJob is implementation of a cancellable task.
- ContinusJob is implementation of a cancellable task that keeps running.
Timers
- Timer is an easy to use and modify timer.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. 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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net46 was computed. 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 | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- Sundew.Base.Collections.Primitives (>= 12.0.9)
- Sundew.Base.Memory (>= 12.0.9)
- Sundew.Base.Primitives (>= 12.0.9)
- Sundew.DiscriminatedUnions (>= 5.3.1)
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.0
- Sundew.Base.Collections.Primitives (>= 12.0.9)
- Sundew.Base.Memory (>= 12.0.9)
- Sundew.Base.Primitives (>= 12.0.9)
- Sundew.DiscriminatedUnions (>= 5.3.1)
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.1
- Sundew.Base.Collections.Primitives (>= 12.0.9)
- Sundew.Base.Memory (>= 12.0.9)
- Sundew.Base.Primitives (>= 12.0.9)
- Sundew.DiscriminatedUnions (>= 5.3.1)
- System.ValueTuple (>= 4.5.0)
-
net6.0
- Sundew.Base.Collections.Primitives (>= 12.0.9)
- Sundew.Base.Memory (>= 12.0.9)
- Sundew.Base.Primitives (>= 12.0.9)
- Sundew.DiscriminatedUnions (>= 5.3.1)
- System.ValueTuple (>= 4.5.0)
-
net8.0
- Sundew.Base.Collections.Primitives (>= 12.0.9)
- Sundew.Base.Memory (>= 12.0.9)
- Sundew.Base.Primitives (>= 12.0.9)
- Sundew.DiscriminatedUnions (>= 5.3.1)
- System.ValueTuple (>= 4.5.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sundew.Base.Collections.Linq:
Package | Downloads |
---|---|
Sundew.Base.Collections
Extensions for collections types. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
14.0.0 | 0 | 10/31/2024 |
14.0.0-u20241027-231034-ci | 33 | 10/27/2024 |
14.0.0-u20241027-224901-ci | 26 | 10/27/2024 |
14.0.0-u20241027-202321-ci | 27 | 10/27/2024 |
14.0.0-u20241003-093335-ci | 42 | 10/3/2024 |
14.0.0-u20240903-221137-ci | 45 | 9/3/2024 |
14.0.0-u20240619-232154-ci | 43 | 6/19/2024 |
14.0.0-u20240619-222527-ci | 47 | 6/19/2024 |
13.0.3 | 69 | 6/14/2024 |
13.0.3-u20240518-160748-ci | 41 | 5/18/2024 |
13.0.2 | 47 | 5/18/2024 |
13.0.1 | 121 | 4/22/2024 |
13.0.0 | 51 | 4/21/2024 |
13.0.0-u20240421-225911-ci | 56 | 4/21/2024 |
12.0.11 | 71 | 4/10/2024 |
12.0.10 | 71 | 4/1/2024 |
12.0.9 | 98 | 3/7/2024 |
12.0.8 | 60 | 3/6/2024 |
12.0.7 | 108 | 2/17/2024 |
12.0.6 | 87 | 2/15/2024 |
12.0.5 | 152 | 1/11/2024 |
12.0.4 | 76 | 12/20/2023 |
12.0.3 | 75 | 12/20/2023 |
12.0.3-u20231218-221551-ci | 74 | 12/18/2023 |
12.0.2 | 100 | 12/18/2023 |
12.0.1 | 102 | 12/18/2023 |
12.0.0-u20231217-235410-ci | 67 | 12/17/2023 |
12.0.0-u20231217-004830-ci | 90 | 12/17/2023 |
12.0.0-u20231215-231654-ci | 68 | 12/15/2023 |
11.0 - Unified Disposal and Initialization
10.0 - O.None was changed to a property
9.0 - Immutable collections with value semantics, Result type redesign and new Option type, AppendItems replaces AggregateToStringBuilder and JoinToStringBuilder.
8.5 - JoinToStringBuilder and AggregateToStringBuilder improvements
8.4 - AllOrFailed extension for IEnumerable<T>
8.3 - NamedFormatString and AsyncLazy improvements
8.2 - ToEnumerable returns IReadOnlyCollection, Added Disposer ctors to avoid ambiguous calls
8.1 - Added NaturalTextComparer
8.0 - Added NamedFormatProvider, removed Text Split, use Memory.Split instead
7.0 - Split into separate packages and cleanup