PlainBytes.System.Extensions
1.0.0
dotnet add package PlainBytes.System.Extensions --version 1.0.0
NuGet\Install-Package PlainBytes.System.Extensions -Version 1.0.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="PlainBytes.System.Extensions" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PlainBytes.System.Extensions --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PlainBytes.System.Extensions, 1.0.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 PlainBytes.System.Extensions as a Cake Addin #addin nuget:?package=PlainBytes.System.Extensions&version=1.0.0 // Install PlainBytes.System.Extensions as a Cake Tool #tool nuget:?package=PlainBytes.System.Extensions&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<p align="center"> <img width="128" align="center" src="assets/system-extensions.png" > </p>
<h1 align="center"> System.Extensions </h1>
<p align="center"> Collection of extension method for the BCL to ease their usage. Please feel free to submit bits that are not yet included. </p>
</p>
Examples
String
var stringValue = "text";
_ = stringValue.IsNullOrEmpty();
_ = stringValue.IsNullOrWhiteSpace();
_ = stringValue.HasValue();
_ = stringValue.HasActualValue();
_ = "{0} {1}".FormatWith(1, 2);
Numeric types
// Int, uint, long, ulong, byte
var number = 123;
_ = intValue.Clamp(0, 100);
_ = intValue.ToBool(); // each type has its revers bool to number.
Double
var doubleValue = 12.34;
_ = doubleValue.Clamp(0, 100);
_ = doubleValue.IsInfinity();
_ = doubleValue.IsNegativeInfinity();
_ = doubleValue.IsPositiveInfinity();
_ = doubleValue.IsNaN();
_ = doubleValue.IsEqual(34.12,tolerance: 0.1); //two NaNs are also evaluated as equals
Collection access
var collection = new[] {1, 2, 3};
_ = collection.HasIndex(4);
_ = collection.AtIndexOrDefault(4);
_ = collection.AtIndexOrFallback(4, -1);
_ = collection.IsEmpty();
var directory = new Dictionary<int, int>();
_ = directory.AtKeyOrFallback(4, -1);
Iterators
// Extensions for IList<T>, IEnumerable<T> and Enumerable
var collection = new[] {1, 2, 3};
collection.For((index, value) => {});
collection.ForEach(value => {});
_ = collection.SelectWithIndex((index, value) => value);
_ = collection.SelectTypeOf<double>();
var secondCollection = new[] {4, 5};
_ = collection.Append(secondCollection);
Install
Package manger
Install-Package PlainBytes.System.Extensions
CLI
dotnet add package PlainBytes.System.Extensions
Target platform: .Net Standard 1.0 and above.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 243 | 11/26/2024 |
0.8.0 | 3,499 | 8/27/2023 |
0.7.0 | 214 | 5/2/2023 |
0.6.0.2 | 2,767 | 10/27/2022 |
0.6.0.1 | 485 | 10/27/2022 |
0.6.0 | 3,986 | 4/25/2022 |
0.5.0.1 | 1,027 | 8/9/2021 |
0.5.0 | 435 | 8/9/2021 |
0.4.0 | 409 | 5/20/2021 |
0.2.0 | 431 | 4/23/2021 |
0.1.3 | 449 | 2/7/2021 |
0.1.2 | 499 | 12/13/2020 |
0.1.1 | 520 | 12/5/2020 |
0.1.0 | 510 | 12/5/2020 |