ExpressionEvaluatorCs 1.1.1
Simple expression evaluator for C#
Install-Package ExpressionEvaluatorCs -Version 1.1.1
dotnet add package ExpressionEvaluatorCs --version 1.1.1
<PackageReference Include="ExpressionEvaluatorCs" Version="1.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ExpressionEvaluatorCs --version 1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ExpressionEvaluator
Simple expression evaluator for C#
Getting Started
- Install via nuget:
ExpressionEvaluatorCs
https://www.nuget.org/packages/ExpressionEvaluatorCs/ - Sample code
// Returns 6
var result1 = ExpressionEvaluator.Evaluate("(1 + 2) * 2");
// Returns false
var result2 = ExpressionEvaluator.Evaluate("false and true");
For more samples, see ExpressionEvaluatorTest.cs
Why Use This Library?
- Lightweight. Single DLL < 10kb and no third party library dependencies
- Easy to get started and use
- Customization options
- Supports older .NET Framework versions
.NET Support
- Current Release: .NET Framework 4
- Future release: .NET Core (.NET Standard Library)
Expression Support
- And
- False
- Not
- Or
- True
Operator Support
- <
- >
- <=
- >=
- <>
- =
- +
- -
- *
- /
- %
Options
Specify Return Type
Sample code
// Returns 6
int result1 = ExpressionEvaluator.Evaluate<int>("(1 + 2) * 2");
// Returns false
bool result2 = ExpressionEvaluator.Evaluate<bool>("false and true");
Specify Operator Mapping
Sample code
ExpressionEvaluator.SetOperatorMap(new Dictionary<string, string>
{
{"and", "&&"},
{"or", "||"},
{"<>", "!=" },
{"not", "!" },
{"true", "1" },
{"false", "0" }
});
// Returns false
bool result = ExpressionEvaluator.Evaluate<bool>("0 && !1");
ExpressionEvaluator.SetOperatorMap(new Dictionary<string, string>
{
{"+", "plus"},
{"*", "times"},
{"/", "divideBy"},
});
// Returns 6
int result = ExpressionEvaluator.Evaluate<int>("(1 plus 2) times 2");
ExpressionEvaluator
Simple expression evaluator for C#
Getting Started
- Install via nuget:
ExpressionEvaluatorCs
https://www.nuget.org/packages/ExpressionEvaluatorCs/ - Sample code
// Returns 6
var result1 = ExpressionEvaluator.Evaluate("(1 + 2) * 2");
// Returns false
var result2 = ExpressionEvaluator.Evaluate("false and true");
For more samples, see ExpressionEvaluatorTest.cs
Why Use This Library?
- Lightweight. Single DLL < 10kb and no third party library dependencies
- Easy to get started and use
- Customization options
- Supports older .NET Framework versions
.NET Support
- Current Release: .NET Framework 4
- Future release: .NET Core (.NET Standard Library)
Expression Support
- And
- False
- Not
- Or
- True
Operator Support
- <
- >
- <=
- >=
- <>
- =
- +
- -
- *
- /
- %
Options
Specify Return Type
Sample code
// Returns 6
int result1 = ExpressionEvaluator.Evaluate<int>("(1 + 2) * 2");
// Returns false
bool result2 = ExpressionEvaluator.Evaluate<bool>("false and true");
Specify Operator Mapping
Sample code
ExpressionEvaluator.SetOperatorMap(new Dictionary<string, string>
{
{"and", "&&"},
{"or", "||"},
{"<>", "!=" },
{"not", "!" },
{"true", "1" },
{"false", "0" }
});
// Returns false
bool result = ExpressionEvaluator.Evaluate<bool>("0 && !1");
ExpressionEvaluator.SetOperatorMap(new Dictionary<string, string>
{
{"+", "plus"},
{"*", "times"},
{"/", "divideBy"},
});
// Returns 6
int result = ExpressionEvaluator.Evaluate<int>("(1 plus 2) times 2");
Release Notes
Initial release.
Dependencies
This package has no dependencies.
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.