C#可以在String值中进行比较,返回布尔值.例如."5 <10"返回true

Eng*_*th9 -2 c# string comparison boolean

有没有办法在字符串值中进行比较可以返回Boolean值.例.如果(5> 5000)显然会返回假值.但我想做的是让"5> 5000"返回假值.

例.

string com = "5 > 10";
Run Code Online (Sandbox Code Playgroud)

那么有没有办法让这个com变量返回一个false值,好像它是整数之间的比较.

L.B*_*L.B 5

没有内置的方式,但NCalc可以在这里提供帮助

NCalc.Expression expr = new NCalc.Expression("5>10");
bool b = (bool)expr.Evaluate();
Run Code Online (Sandbox Code Playgroud)

你甚至可以使用参数

NCalc.Expression expr = new NCalc.Expression("a<b");

expr.EvaluateParameter += (name, args) =>
  {
      if (name == "a") args.Result = 5;
      if (name == "b") args.Result = 10;
  };
bool b = (bool)expr.Evaluate();
Run Code Online (Sandbox Code Playgroud)