Skip to content

BitzArt/LinqExtensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NuGet version NuGet downloads

Overview

BitzArt.LinqExtensions provides additional LINQ extension methods, such as:

  • .If() - Conditionally applies a transformation to a sequence;

    • Example:
      public void Example(bool onlyEvenNumbers)
      {
          var numbers = Enumerable.Range(1, 10);
      
          var result = numbers
              .If(onlyEvenNumbers, q => q
                  .Where(x => x % 2 == 0));
      }
  • .WhereIf() - Similar to .If(), but applies a condition to a sequence right away;

    • Example:
      public void Example(bool onlyEvenNumbers)
      {
          var numbers = Enumerable.Range(1, 10);
      
          var result = numbers.WhereIf(onlyEvenNumbers, x => x % 2 == 0);
      }
  • .Median() - Calculates the median value of a sequence;

    • Example:
      public void Example()
      {
          var numbers = Enumerable.Range(1, 10);
      
          var median = numbers.Median(x => x);
      }
  • .OrderBy() - Additional ordering extensions.

    • Comes with an OrderDirection enum, allowing usage like:
      public void Example(OrderDirection direction)
      {
          var numbers = Enumerable.Range(1, 10);
      
          // will order either ascending or descending, depending on the `direction` parameter
          var result = numbers.OrderBy(x => x, direction);
      }
  • .Shuffle() - Randomly shuffles a sequence using Fisher-Yates shuffle. Allows for a predefined randomizer seed for deterministic results.

  • And others.

More packages

more.jpg

About

Various LINQ functionality extensions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages