RoyalLibrary 1.1.0

Collection of useful LINQ query operators

Suggested Alternatives

ByteDecoder.RoyalLibrary

Additional Details

Library renamed to  ByteDecoder.RoyalLibrary.
Please move to the other Library. RoyalLibrary is no longer maintained.

Install-Package RoyalLibrary -Version 1.1.0
dotnet add package RoyalLibrary --version 1.1.0
<PackageReference Include="RoyalLibrary" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RoyalLibrary --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RoyalLibrary, 1.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RoyalLibrary as a Cake Addin
#addin nuget:?package=RoyalLibrary&version=1.1.0

// Install RoyalLibrary as a Cake Tool
#tool nuget:?package=RoyalLibrary&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Royal Library

Collection of useful LINQ query operators

Targeted to .Net Standard 2.0

Installation

Install the RoyalLibrary NuGet Package.

Package Manager Console

Install-Package RoyalLibrary

.NET Core CLI

dotnet add package RoyalLibrary

Examples and usage

var myArray = new[] { 1, 45, 34, 435 };

// Evens and odds
myArray.Evens();
myArray.Odds();

// Sum
myArray.TotalAllEvens();
myArray.TotalAllOdds();

// Times
5.Times(_ => {
  var theVar = 13;
  Debug.Log($"This is {theVar}");
});

// Sequences, IEnumerable<T>

// Each
myArray.ForEach(item => Debug.Log($"Using the strength: {item}"));

string[] shapes = { "circle", "square", "triangle", "octagon" };

shapes.ForEach(shape => {
  shape = shape.ToUpper();
  Debug.Log(shape);
});

// Each with Index
shapes.ForEach((item, index) => {
  Debug.Log($"Item: {item.ToUpper()} with index: {index}");
});

// Map
myArray.Map(item => item * 2).Each(item => Debug.Log($"Using the strength doubled: {item}"));

// Max Element in the sequence
var maxBook = SampleData.Books.MaxElement(book => book.PageCount);
Console.WriteLine($"Max Book Page Count => {maxBook.Title}");

// Deferred Executiion with StreamReader sequences
using var reader = new StreamReader("books.csv");

Data =
  from line in reader.Lines()
  where !line.StartsWith("#")
  let parts = line.Split(',')
  select new { Title = parts[1], Publisher = parts[3], Isbn = parts[0] };

// Indexes
// 10011001000
IList<bool> source = new List<bool> { true, false, false, true, true, false, false, true, false, false, false };
Data = source.TopIndexes(element => element, 4);

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ByteDecoder/RoyalLibrary.

Copyright (c) 2020 Rodrigo Reyes released under the MIT license

Royal Library

Collection of useful LINQ query operators

Targeted to .Net Standard 2.0

Installation

Install the RoyalLibrary NuGet Package.

Package Manager Console

Install-Package RoyalLibrary

.NET Core CLI

dotnet add package RoyalLibrary

Examples and usage

var myArray = new[] { 1, 45, 34, 435 };

// Evens and odds
myArray.Evens();
myArray.Odds();

// Sum
myArray.TotalAllEvens();
myArray.TotalAllOdds();

// Times
5.Times(_ => {
  var theVar = 13;
  Debug.Log($"This is {theVar}");
});

// Sequences, IEnumerable<T>

// Each
myArray.ForEach(item => Debug.Log($"Using the strength: {item}"));

string[] shapes = { "circle", "square", "triangle", "octagon" };

shapes.ForEach(shape => {
  shape = shape.ToUpper();
  Debug.Log(shape);
});

// Each with Index
shapes.ForEach((item, index) => {
  Debug.Log($"Item: {item.ToUpper()} with index: {index}");
});

// Map
myArray.Map(item => item * 2).Each(item => Debug.Log($"Using the strength doubled: {item}"));

// Max Element in the sequence
var maxBook = SampleData.Books.MaxElement(book => book.PageCount);
Console.WriteLine($"Max Book Page Count => {maxBook.Title}");

// Deferred Executiion with StreamReader sequences
using var reader = new StreamReader("books.csv");

Data =
  from line in reader.Lines()
  where !line.StartsWith("#")
  let parts = line.Split(',')
  select new { Title = parts[1], Publisher = parts[3], Isbn = parts[0] };

// Indexes
// 10011001000
IList<bool> source = new List<bool> { true, false, false, true, true, false, false, true, false, false, false };
Data = source.TopIndexes(element => element, 4);

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ByteDecoder/RoyalLibrary.

Copyright (c) 2020 Rodrigo Reyes released under the MIT license

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0 328 6/21/2020
1.0.3 247 4/22/2020
1.0.2 249 4/14/2020
1.0.1 243 4/14/2020
1.0.0 248 4/14/2020