2 AND numb-6ren">
gpt4 book ai didi

c# - Dynamic LINQ 中的内联列表

转载 作者:行者123 更新时间:2023-12-05 07:51:37 26 4
gpt4 key购买 nike

我使用 MS System.Linq.Dynamic 库从字符串中解析表达式。

例如:

int number = 42;
var expression = @"(number > 2 AND number < 10) OR number == 42";
var numberParam = Expression.Parameter(typeof(int), "number");
var lambdaExp = System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { numberParam }, null, expression);
var compiledExp = lambdaExp.Compile();
var result = compiledExp.DynamicInvoke(number);

现在我想做这样的事情:

var expression = @"number in (33, 42, 77)";

var expression = @"(33, 42, 77).Contains(number)";

var expression = @"number < 10 OR number in (33, 42, 77)";

有人知道怎么实现吗?我需要在实际查询字符串中包含列表值,而不是在变量中。

编辑:System.Linq.Dynamic 有一个分支,它添加了此功能:http://dynamiclinq.azurewebsites.net/Keywords/in

不幸的是,这个分支没有 DynamicExpression.ParseLambda

最佳答案

所有表达式都是easily achievable在 System.Linq.Dynamic 的 .NET Core/Standard 端口中。

关于c# - Dynamic LINQ 中的内联列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com