Skip to content

Lincolle4net is a .NET library which exposes some methods as extension; which apply inline tests before perfoming some operations on generics and collections.

License

Notifications You must be signed in to change notification settings

Jhakiz/Lincolle4net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lincolle4net

By importing this library in your project, you are going to access some methods as extensions which will help you while filtering Linq and Collections in C#.

For now the current version supports only WhereIf on List, Enumerable, Queryable, Stack, Dictionary and Collection.

var filter = "DRC";
var countries = (new List<string>() { "USA", "Canada" ,"DRC", "Uganda", "China" })
  .AsQueryable()
  .WhereIf(!string.IsNullOrEmpty(filter), c => c == filter);

Note that, on each call of WhereIf, an inline IF condition is applied on specified generics. Without using this package, the above code could be written as below:

var filter = "DRC";
var countries = (new List<string>() { "USA", "Canada" ,"DRC", "Uganda", "China" })
  .AsQueryable();

if(!string.IsNullOrEmpty(filter))
{
    countries.Where(c => c == filter);
}

Use this library while filtering Dictionaries.

var dic = new Dictionary<string, string>
{
    { "test", "val" },
    { "test2", "val2" }
};
var filter = "va";

var data = dic.WhereIf(!string.IsNullOrEmpty(filter), c => c.Value.StartsWith(filter));

Roadmap

  • WhereIf
  • AddIf
  • RemoveIf

Contribution

The project is opened for community contribution. To do this, you've to fork this project, perform all operation, finaly push changes on your forked project.

Create a pull request if you want your changes to be merged to the main branch.

About

Lincolle4net is a .NET library which exposes some methods as extension; which apply inline tests before perfoming some operations on generics and collections.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages