DevFast.Net.Extensions 0.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package DevFast.Net.Extensions --version 0.5.0
                    
NuGet\Install-Package DevFast.Net.Extensions -Version 0.5.0
                    
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="DevFast.Net.Extensions" Version="0.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DevFast.Net.Extensions" Version="0.5.0" />
                    
Directory.Packages.props
<PackageReference Include="DevFast.Net.Extensions" />
                    
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 DevFast.Net.Extensions --version 0.5.0
                    
#r "nuget: DevFast.Net.Extensions, 0.5.0"
                    
#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 DevFast.Net.Extensions@0.5.0
                    
#: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=DevFast.Net.Extensions&version=0.5.0
                    
Install as a Cake Addin
#tool nuget:?package=DevFast.Net.Extensions&version=0.5.0
                    
Install as a Cake Tool

Part of dotnet.devfast project.

DevFast.Net.Extensions Build status codecov NuGet

Developer Documentation, Release Notes

This project contains well-tested, self-explained & easy to use extension methods to achieve optimized runtime performance with improved readability of the code.

Examples

String Parsing

String parsing becomes as easy as stringValue.TryTo(out <T> ...) (where T can be bool, Guid, int, double, decimal, DateOnly, DateTime, TimeOnly etc...):

  • "123".TryTo(out int parsedInt) should return true with parsedInt as 123.

Similar ".TryTo" also exists on ReadOnlySpan<char> and ReadOnlySpan<byte>

Avoid NullReferenceException on String
  • possibleNullString?.Trim() ?? string.Empty Becomes possibleNullString.TrimSafeOrEmpty()
  • possibleNullString?.Trim().ToUpper() ?? string.Empty Becomes possibleNullString.TrimSafeAndUpper() (same for Upper and more...)
Working on Byte Arrays (byte[])
  • myByteArray.LiftNCopySafe(...) moves bytes with-in Arrays
  • myByteArray.DoubleByteCapacity() returns new array with initial bytes but twice the capacity
  • myByteArray.CopyToSafe(...) copies bytes to targeted array
IEnumerable & IAsyncEnumerable with CancellationToken All the Way
  • ForEach, ForEachAsync, ToBlockingEnumerable with CancellationToken
  • CancellationToken support for SelectAsync, SkipAsync, TakeAsync, WhereAsync, CountAsync, ToChunksAsync etc.
Product Compatible and additional computed target framework versions.
.NET 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 is compatible.  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 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.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on DevFast.Net.Extensions:

Package Downloads
DevFast.Net.Text

Package containing well-tested, self-explained & easy to use artifacts necessary for text processing.

DevFast.Net.Collection

Package contains well-tested optimized data-structures like FastDictionary, Heap etc.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.3 279 12/18/2024
0.7.2 490 7/21/2024
0.7.1 138 7/21/2024
0.7.0 213 7/20/2024
0.6.0 130 7/10/2024
0.5.0 136 6/24/2024
0.4.0 138 6/22/2024
0.3.0 177 3/10/2024
0.2.0 205 2/11/2024
0.1.1 278 11/4/2023
0.1.0 163 10/20/2023