BV.Functional
1.0.9
See the version list below for details.
dotnet add package BV.Functional --version 1.0.9
NuGet\Install-Package BV.Functional -Version 1.0.9
<PackageReference Include="BV.Functional" Version="1.0.9" />
paket add BV.Functional --version 1.0.9
#r "nuget: BV.Functional, 1.0.9"
// Install BV.Functional as a Cake Addin
#addin nuget:?package=BV.Functional&version=1.0.9
// Install BV.Functional as a Cake Tool
#tool nuget:?package=BV.Functional&version=1.0.9
BV.Functional
This library is ment to provide standard basic constructs for functional programming.
Option<T>
Example usage would be: you have a method returning a value or "nothing" (null
). If you forget to handle the "nothing" case in you code, you will get the NullReferenceException
(the most thrown exception ever). You can help yourself and pack your result into an Option<TResult>.
public Option<string> GetSomeStringOption(bool isSet)
{
if (isSet)
return Option.Some("My string is set");
return Option.None;
}
If you try to return null in the method, you will get an exception. You can then consume the method and do something with returned option like here:
var myOption = GetSomeStringOption(true);
myOption.Match(
(myString) => Console.WriteLine(myString),
() => Console.WriteLine("Sorry - string not set"));
There are also some useful extension methods for the Option<T>. Explore them. The documentation for them follows.
Product | Versions 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 | 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 was computed. |
.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.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Minor changes - added package icon, readme file.