繁体   English   中英

NCALC:数组比较

[英]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 ,可在GitHubNuGet上使用

虽然还不能直接在表达式中编写数组,但是可以将它们作为变量提供。 因此,可以稍微调整一下表达式,您可以提供以下内容并获得期望的结果:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM