Langutils.Core
0.17.0
dotnet add package Langutils.Core --version 0.17.0
NuGet\Install-Package Langutils.Core -Version 0.17.0
<PackageReference Include="Langutils.Core" Version="0.17.0" />
<PackageVersion Include="Langutils.Core" Version="0.17.0" />
<PackageReference Include="Langutils.Core" />
paket add Langutils.Core --version 0.17.0
#r "nuget: Langutils.Core, 0.17.0"
#:package Langutils.Core@0.17.0
#addin nuget:?package=Langutils.Core&version=0.17.0
#tool nuget:?package=Langutils.Core&version=0.17.0
Langutils.Core
Langutil - noun /læŋˈjuːtɪl/ - A mythical creature that helps you with your language needs. And we pack some of them!
This is a collection of language utilities for C#, mainly inspired from other languages. Currently includes
- Result<TValue, TError>
- Option<TValue>
- Defer, DeferAsync
- DeferWith<TContext>, DeferWithAsync<TContext>
- Let and Also extension methods
- Unit
Result<TValue, TError>
A type that represents either a value or an error. It is similar to Either in functional languages.
Contains extensions to work with Result, Task<Result> and Async overloads for higher order functions.
The set of available functions are directly inspired by Rust's Result type, with some sprinkled in C#-isms.
To create a result, either use methods provided in the Result static class or use implicit operators
Option<TValue>
A type that represents either a value or nothing. It is similar to Option in functional languages.
Contains extensions to work with Option, Task<Option> and Async overloads for higher order functions.
The set of available functions are directly inspired by Rust's Option type, with some sprinkled in C#-isms.
To create an option, either use methods provided in the Option static class, None.Instancce
or use implicit operators to convert from nullable values (null is coerced into None)
Defer, DeferAsync, DeferWith<TContext>, DeferWithAsync<TContext>
A type that represents a deferred action. It uses disposables to ensure the action gets reliably executed at specified times.
It is similar to defer in Go.
Contains extensions to work with Defer, Task<Defer> and Async overloads for higher order functions.
There is also a variant of defer that allows you to pass a context object to the deferred action for simplification.
Let and Also extension methods
Extension methods that allow you to chain method calls in a more readable way.
Inspired by Kotlin's let and also functions.
Unit
A type that represents a valueless type. It is similar to void in C#, but is a real type.
| 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 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 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. net9.0 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | 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 | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net7.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.