LINQ to Objects is missing a few desirable features. This project enhances LINQ to Objects with extra methods, in a manner which keeps to the spirit of LINQ.
MoreLINQ is available for download and installation as NuGet packages.
A good way to get familiar with MoreLINQ is to explore the introductory series (below), by Mark Heath.
Following is a short demonstration video by Dmitri Nesteruk:
Documentation
- Version 4.4
- Version 4.1
- Version 4.0
- Version 3.4
- Version 3.3
- Version 3.2
- Version 3.1
- Version 3.0
- Version 2.10
- Version 2.9
- Version 2.8
- Version 2.7
- Version 2.6
- Version 2.5
- Version 2.4
- Version 2.3
- Version 2.2
- Version 2.1
- Version 2.0
- Version 1.4
Contributors
Introductory Series, by Mark Heath
EquiZip, ZipLongest, ZipShortestAtLeast, AtMost, Exactly, CountBetween, AssertCountMinBy and MaxByPermutations, Subset, CartesianScan; includes ScanRight, PreScanTakeLast, TakeUntil and TakeEveryBatchFallbackIfEmptyFillForward; includes FillBackwardInterleavePadStart, PadRunLengthEncodeRandom, RandomDouble, RandomSubset, ShuffleSkipUntil, SkipLast, SliceWindow, WindowLeft, WindowRightPairwise and Resolving AmbiguitiesCountByGroupAdjacent and SegmentGenerate, GenerateByIndex, Repeat, Sequence, UnfoldToDelimitedString (and friends); includes ToDictionary, ToHashSet, ToArrayByIndexTrace, Pipe, ForEach, ConsumeInsert, BacksertRightJoin, LeftJoin, FullJoin, FullGroupJoinFlattenTraverseBreadthFirst, TraverseDepthFirst