AInq.Optional
4.0.1
dotnet add package AInq.Optional --version 4.0.1
NuGet\Install-Package AInq.Optional -Version 4.0.1
<PackageReference Include="AInq.Optional" Version="4.0.1" />
<PackageVersion Include="AInq.Optional" Version="4.0.1" />
<PackageReference Include="AInq.Optional" />
paket add AInq.Optional --version 4.0.1
#r "nuget: AInq.Optional, 4.0.1"
#:package AInq.Optional@4.0.1
#addin nuget:?package=AInq.Optional&version=4.0.1
#tool nuget:?package=AInq.Optional&version=4.0.1
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.0
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- Rename
Maybe.AsTrytoMaybe.ToTryandTry.AsMaybetoTry.ToMaybeto remove ambiguity - Remove all
Try<T>extensions, which can implicitly hide exceptions Try.ToMaybenow throw exception if source is not success, introduced flag to suppress this- Save exception stacktrace in
Try<T> - New APIs
|(or) operator forMaybe<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.0.1 | 137 | 12/5/2025 | |
| 4.0.0-preview.3 | 168 | 11/14/2025 | |
| 4.0.0-preview.2 | 192 | 11/14/2025 | |
| 4.0.0-preview.1 | 197 | 11/14/2025 | |
| 3.9.1 | 363 | 11/12/2025 | |
| 3.9.0 | 461 | 11/11/2025 | |
| 3.9.0-rc.3 | 172 | 11/6/2025 | |
| 3.9.0-rc.2 | 164 | 10/22/2025 | |
| 3.9.0-rc | 284 | 10/15/2025 | |
| 3.8.9 | 322 | 10/15/2025 | |
| 3.8.8 | 471 | 9/10/2025 | |
| 3.8.7 | 510 | 8/11/2025 | |
| 3.8.6 | 379 | 7/9/2025 | |
| 3.8.5 | 558 | 6/11/2025 | |
| 3.8.4 | 371 | 6/2/2025 | |
| 3.8.3 | 472 | 5/14/2025 | |
| 3.8.2 | 365 | 4/26/2025 | |
| 3.8.1 | 466 | 4/15/2025 | |
| 3.8.0 | 529 | 4/2/2025 | |
| 3.7.2 | 506 | 3/9/2025 | |
| 3.7.1 | 903 | 11/17/2024 | |
| 3.7.0 | 460 | 11/13/2024 | |
| 3.6.0 | 523 | 8/19/2024 | |
| 3.5.2 | 1,806 | 11/20/2023 | |
| 3.5.1 | 937 | 11/17/2023 | |
| 3.4.1 | 2,894 | 12/3/2022 | |
| 3.4.0 | 1,668 | 11/14/2022 | |
| 3.4.0-preview.2 | 289 | 10/13/2022 | |
| 3.4.0-preview.1 | 226 | 10/2/2022 | |
| 3.3.1 | 2,231 | 8/9/2022 | |
| 3.3.0 | 2,714 | 5/11/2022 | |
| 3.2.1 | 2,278 | 3/27/2022 | |
| 3.2.0 | 2,246 | 3/23/2022 | |
| 3.2.0-rc.2 | 237 | 3/23/2022 | |
| 3.2.0-rc.1 | 255 | 3/19/2022 | |
| 3.1.0 | 1,273 | 3/18/2022 | |
| 3.1.0-rc.7 | 233 | 3/18/2022 | |
| 3.1.0-rc.6 | 247 | 3/17/2022 | |
| 3.1.0-rc.5 | 240 | 3/16/2022 | |
| 3.1.0-rc.4 | 232 | 3/16/2022 | |
| 3.1.0-rc.3 | 269 | 3/16/2022 | |
| 3.1.0-rc.2 | 239 | 3/16/2022 | |
| 3.1.0-rc.1 | 244 | 3/15/2022 | |
| 3.0.3 | 2,627 | 12/27/2021 | |
| 3.0.2 | 1,006 | 12/18/2021 | |
| 3.0.1 | 1,469 | 12/14/2021 | |
| 3.0.0 | 1,479 | 12/13/2021 | |
| 2.1.0 | 1,252 | 12/3/2021 | |
| 2.0.3 | 1,185 | 11/21/2021 | |
| 2.0.2 | 846 | 11/18/2021 | |
| 2.0.1 | 810 | 11/18/2021 | |
| 2.0.0 | 1,529 | 11/8/2021 | |
| 2.0.0-rc.4 | 463 | 11/5/2021 | |
| 2.0.0-rc.3 | 440 | 11/2/2021 | |
| 2.0.0-rc.2 | 456 | 10/12/2021 | |
| 2.0.0-rc.1 | 462 | 10/7/2021 | |
| 1.1.0-preview.3 | 441 | 10/6/2021 | |
| 1.1.0-preview.2 | 491 | 9/15/2021 | |
| 1.1.0-preview | 973 | 8/23/2021 | |
| 1.0.5 | 1,354 | 5/21/2021 | |
| 1.0.4 | 1,089 | 5/19/2021 | |
| 1.0.3.1 | 2,120 | 5/10/2021 | |
| 1.0.2 | 1,963 | 3/14/2021 | |
| 1.0.1 | 1,106 | 3/14/2021 | |
| 1.0.0.1 | 1,119 | 3/10/2021 | |
| 1.0.0 | 1,082 | 3/10/2021 |
[FIX] Fix ambiguity in OR operator