BitzArt.LinqExtensions provides additional LINQ extension methods, such as:
.If() - Conditionally applies a transformation to a sequence;
- Example:
publicvoidExample(boolonlyEvenNumbers){varnumbers=Enumerable.Range(1,10);varresult=numbers.If(onlyEvenNumbers, q =>q.Where(x =>x%2==0));}
- Example:
.WhereIf() - Similar to
.If(), but applies a condition to a sequence right away;- Example:
publicvoidExample(boolonlyEvenNumbers){varnumbers=Enumerable.Range(1,10);varresult=numbers.WhereIf(onlyEvenNumbers, x =>x%2==0);}
- Example:
.Median() - Calculates the median value of a sequence;
- Example:
publicvoidExample(){varnumbers=Enumerable.Range(1,10);varmedian=numbers.Median(x =>x);}
- Example:
.OrderBy() - Additional ordering extensions.
- Comes with an
OrderDirectionenum, allowing usage like:publicvoidExample(OrderDirectiondirection){varnumbers=Enumerable.Range(1,10);// will order either ascending or descending, depending on the `direction` parametervarresult=numbers.OrderBy(x =>x,direction);}
- Comes with an
.Shuffle() - Randomly shuffles a sequence using Fisher-Yates shuffle. Allows for a predefined randomizer seed for deterministic results.
And others.
- BitzArt.LinqExtensions.Batching - Extension methods for sequence batching.
