C# Predicate

           一、Predicate是什么?(注:以下摘自C#技术文档)

           摘要:表示定义一组条件并确定指定对象是否符合这些条件的方法。

           public delegate bool Predicate<in T>(T obj)。

           参数:obj:要按照由此委托表示的方法中定义的条件进行比较的对象。

           类型参数:T:要比较的对象的类型。
           返回结果: 如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false。

           直接看不太容易理解,看一个例子:

           List<string> list = new List<string>();  
           list.AddRange(new string[] { "ASP.NET课程","J2EE课程", "PHP课程", "数据结构课程" });  
           Predicate<string> findPredicate = new Predicate<string>(IsBookCategory);  
           List<string> bookCategory = list.FindAll(findPredicate);                                                
           static bool IsBookCategory(string str)  
           {  
              return str.EndsWith("课程") ? true : false;  
           }  
           个人理解:

            Predicate委托的作用是正像摘要所说:表示定义一组条件并确定指定对象是否符合这些条件的方法。                       

            即用委托的方式,指定了一个条件。

           代码中:Predicate的实例findPredicate指向了方法IsBookCatagory(),这个方法定义了一个判定条件。

                         List<string> bookCategory = list.FindAll(findPredicate);   //FindAll()方法查找满足findPredicate指向的            条件。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值