大家好,欢迎来到IT知识分享网。
一、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指向的 条件。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23602.html