相关疑难解决方法(0)

如何动态创建Expression <Func <MyClass,bool >>谓词?

我将如何使用表达式树动态创建类似于......的谓词

(p.Length== 5) && (p.SomeOtherProperty == "hello") 
Run Code Online (Sandbox Code Playgroud)

这样我就可以将谓词粘贴到lambda表达式中......

q.Where(myDynamicExpression)...
Run Code Online (Sandbox Code Playgroud)

我只需指向正确的方向.

更新:对不起,我遗漏了一个事实,即我希望谓词具有上述多个条件.对困惑感到抱歉.

c# linq lambda expression-trees

29
推荐指数
3
解决办法
2万
查看次数

如何在Linq中创建复合"或"子句?

如果你在Linq查询中添加"和"条件,那么很容易就这样做:

var q = MyTable;
if (condition1)
  q = q.Where(t => t.Field1 == value1);
if (condition2)
  q = q.Where(t => t.Field2 > t.Field3);
// etc.
Run Code Online (Sandbox Code Playgroud)

当你想添加"或"条件时,有没有聪明的方法做同样的事情?

c# linq

5
推荐指数
1
解决办法
2552
查看次数

标签 统计

c# ×2

linq ×2

expression-trees ×1

lambda ×1