System.Predicate<T> 委托
2013-08-04 13:58
309 查看
System.Predicate<T> 委托表示定义一组条件并确定指定对象是否符合这些条件的方法这是微软官方的定义
public delegate bool Predicate<T>( T obj )
类型参数
T要比较的对象的类型。参数
obj类型:T要按照由此委托表示的方法中定义的条件进行比较的对象。我的例子:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace languageDemo { public class lamdba { public List<People> Peoples { get; set; } public People GetSomeOne() { return Peoples.Find(AgeBigThen3); } private bool AgeBigThen3(People people) { if (people.Age > 3) { return true; } else {return false;} } } public class People { public int Id { get; set; } public string Name{get;set;} public int Age{get;set;} } }
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace languageDemo{ class Program { static void Main(string[] args) { lamdba lamda = new lamdba(); lamda.Peoples = new List<People>(){ new People(){ Age=1, Id=1,Name="wxp"}, new People(){ Age=2, Id=2,Name="wxp1"}, new People(){ Age=3, Id=3,Name="wxp2"}, new People(){ Age=4, Id=4,Name="wxp3"}, }; People wxp= lamda.GetSomeOne(); } }}
调试之后发现Find的执行顺序是循环遍历该列表,找到第一个满足条件的类后跳出,
通过我们自己实现也是可以的他只不过封装了下,
相关文章推荐
- 集合中Predicate<T>委托的使用
- Predicate<T>与Func<T, bool>泛型委托
- Predicate<T>与Func<T, bool>泛型委托
- C#中的list的System.Predicate<in T>和System.Comparison<in T>的应用
- C#编程:Predicate<T> 委托
- C# Action<T>、Func<T>、Predicate<T>委托的区别、用法
- 关于Predicate<T>委托
- 关于Predicate<T>委托
- Predicate<T> 委托
- Predicate<T> 委托
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- 匿名委托 Invoke,Predicate<T> 委托
- C#中Predicate<T>与Func<T, bool>泛型委托的用法实例
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- 关于Predicate<T>委托
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- C#委托Action、Action<T>、Func<T>、Predicate<T>
- Predicate<(Of <(T>)>) 委托
- 关于Predicate<T>委托
- 【基础】C#:委托Action、Action<T>、Func<T>、Predicate<T>