AInq.Optional.Async
4.2.0
See the version list below for details.
dotnet add package AInq.Optional.Async --version 4.2.0
NuGet\Install-Package AInq.Optional.Async -Version 4.2.0
<PackageReference Include="AInq.Optional.Async" Version="4.2.0" />
<PackageVersion Include="AInq.Optional.Async" Version="4.2.0" />
<PackageReference Include="AInq.Optional.Async" />
paket add AInq.Optional.Async --version 4.2.0
#r "nuget: AInq.Optional.Async, 4.2.0"
#:package AInq.Optional.Async@4.2.0
#addin nuget:?package=AInq.Optional.Async&version=4.2.0
#tool nuget:?package=AInq.Optional.Async&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 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
- AInq.Optional (>= 4.2.0)
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETStandard 2.1
- AInq.Optional (>= 4.2.0)
-
net10.0
- AInq.Optional (>= 4.2.0)
-
net8.0
- AInq.Optional (>= 4.2.0)
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 |
|---|---|---|
| 4.3.0 | 126 | 2/10/2026 |
| 4.3.0-rc.1 | 43 | 2/8/2026 |
| 4.2.0 | 102 | 2/6/2026 |
| 4.1.0 | 413 | 12/18/2025 |
| 4.0.1 | 235 | 12/5/2025 |
| 4.0.0-preview.3 | 196 | 11/14/2025 |
| 4.0.0-preview.2 | 216 | 11/14/2025 |
| 4.0.0-preview.1 | 224 | 11/14/2025 |
| 3.9.1 | 341 | 11/12/2025 |
| 3.9.0-rc.3 | 175 | 11/6/2025 |
| 3.9.0-rc.2 | 176 | 10/22/2025 |
| 3.9.0-rc | 166 | 10/15/2025 |
| 3.8.9 | 210 | 10/15/2025 |
| 3.8.8 | 338 | 9/10/2025 |
| 3.8.7 | 302 | 8/11/2025 |
| 3.8.6 | 282 | 7/9/2025 |
| 3.8.5 | 489 | 6/11/2025 |
| 3.8.4 | 284 | 6/2/2025 |
[ADD] Enumerable.LastOrNone