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
, ZipShortest
AtLeast
, AtMost
, Exactly
, CountBetween
, AssertCount
MinBy
and MaxBy
Permutations
, Subset
, Cartesian
Scan
; includes ScanRight
, PreScan
TakeLast
, TakeUntil
and TakeEvery
Batch
FallbackIfEmpty
FillForward
; includes FillBackward
Interleave
PadStart
, Pad
RunLengthEncode
Random
, RandomDouble
, RandomSubset
, Shuffle
SkipUntil
, SkipLast
, Slice
Window
, WindowLeft
, WindowRight
Pairwise
and Resolving AmbiguitiesCountBy
GroupAdjacent
and Segment
Generate
, GenerateByIndex
, Repeat
, Sequence
, Unfold
ToDelimitedString
(and friends); includes ToDictionary
, ToHashSet
, ToArrayByIndex
Trace
, Pipe
, ForEach
, Consume
Insert
, Backsert
RightJoin
, LeftJoin
, FullJoin
, FullGroupJoin
Flatten
TraverseBreadthFirst
, TraverseDepthFirst