串联两个Func委托 [英] Concatenate two Func delegates
本文介绍了串联两个Func委托的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有这门课:
public class Order
{
int OrderId {get; set;}
string CustomerName {get; set;}
}
我也在变量下面声明
Func<Order, bool> predicate1 = t=>t.OrderId == 5 ;
Func<Order, bool> predicate2 = t=>t.CustomerName == "Ali";
是否有任何方法可以将这些变量(使用AND/OR)连接起来并将结果放入第3个变量中? 例如:
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;
或
Func<Order, bool> predicate3 = predicate1 or predicate2;
推荐答案
并且:
Func<Order, bool> predicate3 =
order => predicate1(order) && predicate2(order);
或者:
Func<Order, bool> predicate3 =
order => predicate1(order) || predicate2(order);
这篇关于串联两个Func委托的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文