NTDLS.ExpressionParser
1.0.0
See the version list below for details.
dotnet add package NTDLS.ExpressionParser --version 1.0.0
NuGet\Install-Package NTDLS.ExpressionParser -Version 1.0.0
<PackageReference Include="NTDLS.ExpressionParser" Version="1.0.0" />
paket add NTDLS.ExpressionParser --version 1.0.0
#r "nuget: NTDLS.ExpressionParser, 1.0.0"
// Install NTDLS.ExpressionParser as a Cake Addin #addin nuget:?package=NTDLS.ExpressionParser&version=1.0.0 // Install NTDLS.ExpressionParser as a Cake Tool #tool nuget:?package=NTDLS.ExpressionParser&version=1.0.0
NTDLS.ExpressionParser
Expression parser for .net. Supports expression nesting, custom variables, custom functions as well as a ton of built in functions.
Be sure to check out the NuGet pacakge: https://www.nuget.org/packages/NTDLS.ExpressionParser/
Simple example:
In this example we will create an expression that uses two built in functions "Ceil" and "Sum", a custom function called "DoStuff" and one variable called "extra". You can also pass a configuration parameter to set max memory size, cache scavange rate and partition count.
var expression = new Expression("10 * ((5 + extra + DoStuff(11,55) + ( 10 + !0 )) * Ceil(SUM(11.6, 12.5, 14.7, 11.11)) + 60.5) * 10");
//Add a value for the variable called "extra".
expression.AddParameter("extra", 1000);
//Handler for the custom function:
expression.AddFunction("DoStuff", (double[] parameters) =>
{
double sum = 0;
foreach (var parameter in parameters)
{
sum += parameter;
}
return sum;
});
var result = ExpressionParser.Evaluate(expression);
License
Product | Versions 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 is compatible. 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. |
-
net6.0
- No dependencies.
-
net7.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.
Initial public release.