Concatenate two Func delegates

2019-03-17 22:43发布

Assume that I have thes Class:

public class Order
{
   int OrderId {get; set;}
   string CustomerName {get; set;}
}

I declare below variables, too

Func<Order, bool> predicate1 = t=>t.OrderId == 5 ;
Func<Order, bool> predicate2 = t=>t.CustomerName == "Ali";

Is there any way that concatenate these variables(with AND/OR) and put the result in 3rd variable? for example:

Func<Order, bool> predicate3 = predicate1 and predicate2;

or

Func<Order, bool> predicate3 = predicate1 or predicate2;

1条回答
等我变得足够好
2楼-- · 2019-03-17 23:32

And:

Func<Order, bool> predicate3 = 
    order => predicate1(order) && predicate2(order);

Or:

Func<Order, bool> predicate3 = 
    order => predicate1(order) || predicate2(order);
查看更多
登录 后发表回答