[英]NCALC : Array compare
我正在尝试将元素数组与一个值进行比较,是否可以使用ncalc做到这一点?
例:
new Expression(ruleExpression.Replace(" [1,2,3] > 1 and 2 < 3 and 2 == 2").Evaluate();
我想要的结果是FALSE等于([1,2,3]> 1),因为不是所有元素都遵守规则。
这是稍晚的答案,但我认为仍然值得回答,以防其他人偶然发现同一问题。
如果您不反对从NCalc迁移,那么我创建了一个替代表达式评估框架,该框架最初是为匹配NCalcs行为而构建的。 它称为Expressive ,可在GitHub或NuGet上使用 。
虽然还不能直接在表达式中编写数组,但是可以将它们作为变量提供。 因此,可以稍微调整一下表达式,您可以提供以下内容并获得期望的结果:
new Expression("[array] > 1 and 2 < 3 and 2 == 2").Evaluate(new Dictionary<string, object>()
{
["array"] = new int[] {1,2,3}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.