AInq.Optional
4.2.0
See the version list below for details.
dotnet add package AInq.Optional --version 4.2.0
NuGet\Install-Package AInq.Optional -Version 4.2.0
<PackageReference Include="AInq.Optional" Version="4.2.0" />
<PackageVersion Include="AInq.Optional" Version="4.2.0" />
<PackageReference Include="AInq.Optional" />
paket add AInq.Optional --version 4.2.0
#r "nuget: AInq.Optional, 4.2.0"
#:package AInq.Optional@4.2.0
#addin nuget:?package=AInq.Optional&version=4.2.0
#tool nuget:?package=AInq.Optional&version=4.2.0
AInq.Optional


What is it?
Simple optional types with basic helpers and converters
Maybe<T>value or nothingTry<T>value or errorEither<TLeft, TRight>value either value
AInq.Optional - Types and basic helpers
AInq.Optional.Async - Async helpers and extensions
New in 4.1
Large refactoring and internal optimization with some breaking changes
- Remove build targets for STS .Net versions
System.Linqis used for collection extensions, which may cause minor behavior changesSystem.Linq.AsyncEnumerableis used in .net10 with minor API changes- Change some methods to remove ambiguity
- Rename
Maybe.AsTrytoMaybe.TryValue - Rename
Try.AsMaybetoTry.MaybeValue - Rename converter
Maybe.OrtoMaybe.EitherValue - Make
boolcast operators explicit
- Rename
- Remove all
Try<T>extensions, which can implicitly hide exceptions Try.MaybeValuenow throw exception if source is not success, introduced flag to suppress this- Save exception stacktrace in
Try<T> - New APIs
|(or) operator forMaybe<T>!(not) operator forMaybe<T>andTry<T>!(invert) operator forEither<TLeft, TRight>Maybe.Valuescollection extension with filteringTry.Resultwith additional generator parameter
New in 3.0
For version 3.0 this lib was completely rewritten with some breaking changes
- All types are now
classinstead ofstruct - Remove some logically obscure methods
IComparableimplementation (problems with comparingnulland empty item)- Type cast operators (unused)
Try.SelectOrDefaultandTry.ValueOrDefault(implicitly hides error, can be replaced withTry.AsMaybe)
- Async extensions completely rewritten using
ValueTaskand moved to separate package
Contribution
If you find a bug, have a question or something else - you are friendly welcome to open an issue.
License
Copyright © 2021 Anton Andryushchenko. AInq.Optional is licensed under Apache License 2.0
| 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 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 is compatible. 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 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.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on AInq.Optional:
| Package | Downloads |
|---|---|
|
AInq.Background.Scheduler
Background work utilities for .NET Core apps based on Hosted services. Background work scheduler with cron. |
|
|
AInq.Background.Scheduler.Abstraction
Background work utilities for .NET Core apps based on Hosted services. Work scheduler interfaces and helpers. |
|
|
AInq.Bitrix24.Api
Bitrix24 Rest API implementation |
|
|
AInq.Optional.Async
Async extensions for optional types |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.3.0 | 265 | 2/10/2026 |
| 4.3.0-rc.1 | 52 | 2/8/2026 |
| 4.2.0 | 409 | 2/6/2026 |
| 4.1.0 | 808 | 12/18/2025 |
| 4.0.1 | 416 | 12/5/2025 |
| 4.0.0-preview.3 | 204 | 11/14/2025 |
| 4.0.0-preview.2 | 223 | 11/14/2025 |
| 4.0.0-preview.1 | 224 | 11/14/2025 |
| 3.9.1 | 395 | 11/12/2025 |
| 3.9.0 | 493 | 11/11/2025 |
| 3.9.0-rc.3 | 201 | 11/6/2025 |
| 3.9.0-rc.2 | 198 | 10/22/2025 |
| 3.9.0-rc | 314 | 10/15/2025 |
| 3.8.9 | 359 | 10/15/2025 |
| 3.8.8 | 501 | 9/10/2025 |
| 3.8.7 | 537 | 8/11/2025 |
| 3.8.6 | 409 | 7/9/2025 |
| 3.8.5 | 585 | 6/11/2025 |
| 3.8.4 | 401 | 6/2/2025 |
[ADD] Enumerable.LastOrNone