Download Latest Version 4.4.0 source code.zip (567.9 kB)
Email in envelope

Get an email when there's a new version of MoreLINQ

Home / v4.0.0
Name Modified Size InfoDownloads / Week
Parent folder
4.0.0 source code.tar.gz 2023-10-28 300.7 kB
4.0.0 source code.zip 2023-10-28 531.9 kB
README.md 2023-10-28 6.5 kB
Totals: 3 Items   839.1 kB 0

NuGet Package Documentation

What's New 📣

This release introduces an experimental version of Batch that allows use of an array pool for batches, which can especially help reduce (potentially LOH) allocations for very large batch sizes.

New aliases are introduced for the following existing methods because they conflicted with identically named methods introduced in .NET 6.0, but which differ in definition and behaviour:

  • [Minima] (supersedes [MinBy])
  • [Maxima] (supersedes [MaxBy])

The superseded methods have been marked obsolete and will most probably be removed in a future version. For more details, see [#1018].

In a similar vein, this release also retires the following extension methods that are now part of .NET proper and which have identical names and behaviour:

  • Append
  • Batch
  • Concat
  • DistinctBy
  • Prepend
  • SkipLast
  • TakeLast
  • ToHashSet

This helps to prevent ambiguity errors during compilation when System.Linq and MoreLinq namespaces are imported together in a file or a namespace. The retirement is done such that the above methods appear as regular static methods rather than extension methods depending on the compilation target. This helps to maintain source as well as binary compatibility. Special thanks to @viceroypenguin for helping with this (see [#945] for more details). The upshot is that projects that prefer to import the MoreLinq namespace rather than individual extensions can simply do so without running into ambiguity compilation errors. However, do bear in mind that this does not prevent future conflicts from appearing should more of MoreLINQ's methods find their way into .NET.

Breaking Changes ⚠️

Since this a major release, some source and binary breaking changes that are listed below were introduced. Please read the details to see if you're affected.

New Contributors 👋🏽

What's Changed 🗒️

See Also ℹ️

Source: README.md, updated 2023-10-28