本文讲述了C# Predicate 委托!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
Predicate 是像 Func和Action代表一样的委托。表示定义一组条件并确定指定对象是否符合这些条件的方法。此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素。Predicate委托方法必须采用一个输入参数并返回布尔值 true 或 false。
Predicate委托的定义
Predicate委托在 System 所定义的命名空间,如下所示:
Predicate 签名:
public delegate bool Predicate<in T>(T obj);
与其他委托类型相同,Predicate 委托也可以与任何方法,匿名方法 或 lambda表达式一起使用。
static bool IsUpperCase(string str) { return str.Equals(str.ToUpper()); } static void Main(string[] args) { Predicate<string> isUpper = IsUpperCase; bool result = isUpper("hello world!!"); Console.WriteLine(result); }
false
Predicate 委托 与 匿名方法
也可以将匿名方法分配给 Predicate 委托类型,如下所示。
static void Main(string[] args) { Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper());}; bool result = isUpper("hello world!!"); }
Predicate 委托 与 Lambda 表达式
也可以将lambda表达式分配给 Predicate 委托类型,如下所示。
static void Main(string[] args) { Predicate<string> isUpper = s => s.Equals(s.ToUpper()); bool result = isUpper("hello world!!"); }
Predicate 委托使用说明
Predicate 委托 是返回bool型的泛型委托
Predicate<int>委托 表示传入参数为int 返回bool的委托
Predicate 委托 有且只有一个参数,返回值固定为bool
要记住的要点
predicate 委托采用一个输入参数和布尔值返回类型。
可以将匿名方法和Lambda表达式分配给predicate委托。
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!