Add Minima
& Maxima
as successors to MinBy
& MaxBy
#1019
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes #1018.
It introduces
Minima
as a replacement forMinBy
andMaxima
as a replacement forMaxBy
.MinBy
andMaxBy
are still there for compatibility, but marked obsolete. In .NET 6+, they are demoted from being extension methods to regular static ones, which should avoid conflicts with identically named methods introduced with .NET 6. Both methods are, however, exposed as extensions when statically imported viaMoreEnumerable.Extensions.MinByExtension
andMoreEnumerable.Extensions.MaxByExtension
. These can conflict when a project migrates to .NET 6, but that would have happened anyway. These extensions are also marked as being superseded by their successors and so the developer should be guided to make the required change by using eitherMoreEnumerable.Extensions.MinimaExtension
/MoreEnumerable.Extensions.MaximaExtension
or simply reverting to importingMoreLinq
.