DevFast.Net.Extensions 0.4.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.4.0                
NuGet\Install-Package DevFast.Net.Extensions -Version 0.4.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.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DevFast.Net.Extensions --version 0.4.0                
#r "nuget: DevFast.Net.Extensions, 0.4.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.
// Install DevFast.Net.Extensions as a Cake Addin
#addin nuget:?package=DevFast.Net.Extensions&version=0.4.0

// Install DevFast.Net.Extensions as a Cake Tool
#tool nuget:?package=DevFast.Net.Extensions&version=0.4.0                

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. 
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.2 402 7/21/2024
0.7.1 104 7/21/2024
0.7.0 176 7/20/2024
0.6.0 98 7/10/2024
0.5.0 105 6/24/2024
0.4.0 113 6/22/2024
0.3.0 150 3/10/2024
0.2.0 171 2/11/2024
0.1.1 262 11/4/2023
0.1.0 144 10/20/2023