聚合文章列表
2 浏览

delegate,Delegate,Func,Action,Predicate区别

c#常见委托有delegate,Action,Func,Predicate。那它们有什么区别和联系呢?1.Func,Action,Predicate区别定义查看源码可以发现:Action,Func,Predicate都是系统使用delegate定义的泛型委托。它们具有不同的参数和返回值。使用in,out定义了逆变和协变。publicdelegatevoidAction<inT>(Tobj);publicdelegateTResultFunc<inT,outTResult>(Targ);publicdelegateboolPredicate<inT>(Tobj);根据源码可以判断:我们可以使用delegate代替Action,Func,Predicate这三种委托。我们也可以使用类似的方法定义自己的委托。根据委托的名字也可以判断大致的使用场景:Action代表动作,代表执行一项操作,所以不具

c# 2017-11-09 发布
AD 友情赞助