Sundew.Base.Collections 9.0.0-u20230309-233136-ci

This is a prerelease version of Sundew.Base.Collections.
This package has a SemVer 2.0.0 package version: 9.0.0-u20230309-233136-ci+5b1e8061d5.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Sundew.Base.Collections --version 9.0.0-u20230309-233136-ci                
NuGet\Install-Package Sundew.Base.Collections -Version 9.0.0-u20230309-233136-ci                
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="Sundew.Base.Collections" Version="9.0.0-u20230309-233136-ci" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sundew.Base.Collections --version 9.0.0-u20230309-233136-ci                
#r "nuget: Sundew.Base.Collections, 9.0.0-u20230309-233136-ci"                
#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.
// Install Sundew.Base.Collections as a Cake Addin
#addin nuget:?package=Sundew.Base.Collections&version=9.0.0-u20230309-233136-ci&prerelease

// Install Sundew.Base.Collections as a Cake Tool
#tool nuget:?package=Sundew.Base.Collections&version=9.0.0-u20230309-233136-ci&prerelease                

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>.
  • 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)

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.

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.

Memory

  • Buffer allows building arrays
  • Split extensions allows Linq style splitting memory in to segments.

Primitives

  • Interval represents an interval of two values.
  • Percentage as a value type.
  • DateTime provider.
  • Result type (R) and Option type (O).

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.

Threading and Threading.Jobs

  • AsyncLazy provides a cancellable async lazy implementation
  • AsyncLock provides async locking.
  • Flag is an Interlocked.Exchanged based flag.
  • CancellableJob is implmentation of a cancellable task.
  • ContinusJob is implmentation of a cancellable task that keeps running.

Timers

  • Timer is an easy to use and modify timer.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 was computed.  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.2 is compatible.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net451 was computed.  net452 was computed.  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. 
Windows Phone wpa81 was computed. 
Windows Store netcore451 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Sundew.Base.Collections:

Package Downloads
Sundew.Base

All in one package including: Sundew.Base.Collections Sundew.Base.Disposal Sundew.Base.Equality Sundew.Base.Initialization Sundew.Base.Memory Sundew.Base.Primitives Sundew.Base.Computation Sundew.Base.Numeric Sundew.Base.Time Sundew.Base.IO Sundew.Base.Reporting Sundew.Base.Text Sundew.Base.Threading.Jobs Sundew.Base.Threading Sundew.Base.Timers

Sundew.CommandLine

Simple library for creating a command line. Features: - *nix style command line. -x, --xx - Includes command line parser, generator and help generator - Object oriented - Verbs and non-verbs (Implement IVerb or IArguments) - Parses/Generates: simple types, lists, nested types. - Supports optional/required arguments - Nested arguments for argument grouping and reuse

Sundew.Base.Text

Extension methods and classes for working with text.

Sundew.Base.Disposal

Various type helping with implementation of IDisposable

Sundew.Generator

Sundew.Generator is a code generator aiming to provide an alternative or replacement for T4 templates.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
14.0.1-u20241109-013422-ci 49 11/9/2024
14.0.1-u20241108-210135-ci 42 11/8/2024
14.0.1-u20241108-204738-ci 40 11/8/2024
14.0.1-u20241104-233553-ci 71 11/4/2024
14.0.0 61 10/31/2024
14.0.0-u20241027-231034-ci 45 10/27/2024
14.0.0-u20241027-224901-ci 34 10/27/2024
14.0.0-u20241027-202321-ci 38 10/27/2024
14.0.0-u20241003-093335-ci 54 10/3/2024
14.0.0-u20240903-221137-ci 57 9/3/2024
14.0.0-u20240619-232154-ci 48 6/19/2024
14.0.0-u20240619-222527-ci 53 6/19/2024
13.0.3 80 6/14/2024
13.0.3-u20240518-160748-ci 46 5/18/2024
13.0.2 53 5/18/2024
13.0.1 140 4/22/2024
13.0.0 69 4/21/2024
13.0.0-u20240421-225911-ci 59 4/21/2024
12.0.11 77 4/10/2024
12.0.10 83 4/1/2024
12.0.9 126 3/7/2024
12.0.8 70 3/6/2024
12.0.7 124 2/17/2024
12.0.6 106 2/15/2024
12.0.5 175 1/11/2024
12.0.4 98 12/20/2023
12.0.3 89 12/20/2023
12.0.3-u20231218-221551-ci 74 12/18/2023
12.0.2 110 12/18/2023
12.0.1 107 12/18/2023
12.0.0-u20231217-235410-ci 68 12/17/2023
12.0.0-u20231217-004830-ci 93 12/17/2023
12.0.0-u20231215-231654-ci 71 12/15/2023
12.0.0-u20231213-192645-ci 80 12/13/2023
12.0.0-u20231208-053800-ci 82 12/8/2023
12.0.0-u20231207-231824-ci 79 12/7/2023
11.1.1-u20231204-122443-ci 80 12/4/2023
11.1.0 127 12/4/2023
11.0.5 124 11/29/2023
11.0.5-u20231128-235732-ci 73 11/28/2023
11.0.4 158 11/26/2023
11.0.4-u20231126-224715-ci 69 11/26/2023
11.0.3 78 11/26/2023
11.0.3-u20231126-224220-ci 73 11/26/2023
11.0.3-u20231126-223517-ci 70 11/26/2023
11.0.2 79 11/26/2023
11.0.2-u20231126-220344-ci 63 11/26/2023
11.0.2-u20231126-204834-ci 63 11/26/2023
11.0.1 84 11/26/2023
11.0.1-u20231126-084441-ci 71 11/26/2023
11.0.1-u20231125-093601-ci 79 11/25/2023
11.0.1-u20231125-084958-ci 76 11/25/2023
11.0.1-u20231124-043154-ci 74 11/24/2023
11.0.0 132 11/20/2023
11.0.0-u20231120-225113-ci 74 11/20/2023
11.0.0-u20231008-215545-ci 87 10/8/2023
11.0.0-u20230913-225400-ci 118 9/13/2023
10.0.2 273 4/25/2023
10.0.2-u20230425-230314-ci 100 4/25/2023
10.0.1 232 4/16/2023
10.0.1-u20230416-183028-ci 92 4/16/2023
10.0.0 145 4/4/2023
10.0.0-u20230404-205341-ci 106 4/4/2023
9.0.2 173 3/23/2023
9.0.2-u20230323-222935-ci 103 3/23/2023
9.0.2-u20230323-222315-ci 104 3/23/2023
9.0.1 190 3/19/2023
9.0.1-u20230319-234935-ci 101 3/19/2023
9.0.0 145 3/16/2023
9.0.0-u20230316-230842-ci 108 3/16/2023
9.0.0-u20230316-230216-ci 101 3/16/2023
9.0.0-u20230316-225941-ci 105 3/16/2023
9.0.0-u20230309-233136-ci 114 3/9/2023
9.0.0-u20230308-224825-ci 113 3/8/2023
8.5.0-u20230124-211210-ci 123 1/24/2023
8.4.0 244 1/8/2023
8.4.0-u20230108-222039-ci 112 1/8/2023
8.4.0-u20230104-001511-ci 327 1/4/2023
8.4.0-u20230103-232731-ci 116 1/3/2023
8.4.0-u20221230-085639-ci 121 12/30/2022
8.3.3 350 11/29/2022
8.3.3-u20221129-215337-ci 118 11/29/2022
8.3.2 136 11/28/2022
8.3.2-u20221128-224653-ci 114 11/28/2022
8.3.1 211 11/26/2022
8.3.1-u20221126-220820-ci 113 11/26/2022
8.3.0 233 11/26/2022
8.3.0-u20221126-212005-ci 110 11/26/2022
8.3.0-u20221126-193947-ci 111 11/26/2022
8.3.0-u20221126-155130-ci 113 11/26/2022
8.2.1-u20221126-062640-ci 113 11/26/2022
8.2.1-u20220821-115451-ci 136 8/21/2022
8.2.0 450 8/17/2022
8.2.0-u20220817-225409-ci 132 8/17/2022
8.1.2-u20220810-203642-ci 154 8/10/2022
8.1.2-u20220802-202525-ci 152 8/2/2022
8.1.2-u20220711-200741-ci 145 7/11/2022
8.1.2-u20220711-200523-ci 161 7/11/2022
8.1.2-u20220623-214900-ci 148 6/23/2022
8.1.2-u20220623-214041-ci 142 6/23/2022
8.1.2-u20220622-182000-ci 150 6/22/2022
8.1.1 505 6/18/2022
8.1.1-u20220618-164600-ci 160 6/18/2022
8.1.1-u20211120-051949-ci 455 11/20/2021
8.1.0 687 11/20/2021
8.1.0-u20211120-035533-ci 466 11/20/2021
8.0.15-u20211120-002647-ci 557 11/20/2021
8.0.14 333 6/18/2021
8.0.13 270 6/18/2021
8.0.12 190 6/18/2021
8.0.11 5,921 6/17/2021
8.0.10 229 6/17/2021
8.0.9 230 6/17/2021
8.0.8 236 6/17/2021
8.0.7 228 6/17/2021
8.0.6 240 6/17/2021
8.0.5 185 6/17/2021
8.0.4 207 6/17/2021
8.0.3 10,538 6/13/2021
8.0.2 822 6/13/2021
8.0.1 5,636 6/13/2021
8.0.0 5,783 6/13/2021
7.0.3 8,845 5/2/2021
7.0.2 6,586 5/2/2021
7.0.1 6,510 5/2/2021
7.0.0 8,799 4/7/2021

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