Solución:
Insto a tener precaución contra la elección de un evaluador de expresiones genéricas existente en lugar de un evaluador matemático especialmente diseñado. La razón de esto es que los evaluadores de expresiones no se limitan solo a las matemáticas. Un individuo inteligente podría usar esto para crear una instancia de cualquier tipo en el marco y llamar a cualquier método del tipo, y eso le permitiría hacer algunas cosas decididamente no deseadas. Por ejemplo: new System.Net.WebClient().DownloadFile("illegalchildpornurl", "C:openme.gif")
evaluará bien en la mayoría de ellos, y hará exactamente lo que parece (y lo convertirá en un delincuente al mismo tiempo).
Esto no significa que no busque algo que ya esté escrito. Solo significa tener cuidado. Quieres uno que haga matemáticas y solo matemáticas. La mayor parte de lo que ya está disponible no es tan exigente.
Recientemente estuve usando mXparser, que es una biblioteca de analizador matemático. Te da mucha flexibilidad, como variables, funciones, constantes, operadores. A continuación encontrará algunos ejemplos de uso:
Ejemplo 1: fórmula simple
Expression e = new Expression("1 + pi");
double v = e.calculate();
Ejemplo 2: fórmula con variables, funciones, etc.
Argument x = new Argument("x = 2");
Constant a = new Constant("a = sin(10)");
Function f = new Function("f
Expression e = new Expression("2*x + a - f(10)", x, a, f);
double v = e.calculate();
https://mxparser.codeplex.com/
mXparser – Math Expression Evaluator / Parser – Library Description
Encontrado recientemente: puede probar la sintaxis (y ver el caso de uso) a través de la aplicación Scalar Calculator que funciona con mXparser.
Atentamente
Puede intentar usar DataTable.Compute.
Uno relacionado es DataColumn.Expression.
También echa un vistazo: Hacer matemáticas en vb.net como Eval en javascript
Nota: no los he usado yo mismo.