Lincolle4net 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Lincolle4net --version 1.0.0
NuGet\Install-Package Lincolle4net -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lincolle4net" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Lincolle4net --version 1.0.0
#r "nuget: Lincolle4net, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Lincolle4net as a Cake Addin
#addin nuget:?package=Lincolle4net&version=1.0.0

// Install Lincolle4net as a Cake Tool
#tool nuget:?package=Lincolle4net&version=1.0.0

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.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.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 Downloads Last updated
1.0.1 392 6/21/2022
1.0.0 384 5/8/2022

This version supports only WhereIf on List, Enumerable, Queryable, Stack, Dictionary, Collection.