LINQ - 动态对齐输入参数

时间:2017-01-21 04:30:34

标签: c# linq

我有一个在类上创建的表达式。它是根据特定要求以编程方式创建的。保存在exp类型的变量Expression<Func<Employee, bool>>中的此类表达式的示例是 -

{ p2 => p2.name.Select((item, index) => new { item, index }).Any(p2.salary > 10000) }

我在empDetails类型的变量List<Employee>中拥有源数据。我想在exp上执行上述表达式empDetails

1 个答案:

答案 0 :(得分:0)

使用中的表达式错误,如果您尝试编写它,则会出现编译时错误。

我使用更简单的表达式作为例子。

Expression<Func<Employee, bool>> ext = (p) =>  p.salary > 10000; 

list.Where(ext.Compile());

ext.Compile()转换表达式&gt;到一个功能。然后它可以用于任何采用Func的方法:Where,First,FirstOrDeafult,Single,SingleOrDeafult,Any,All ....