日期:2014-05-17 浏览次数:21073 次
List<Person> FindPerson(Predicate<Person> condition)
{
List<Person> list = new List<Person>();
foreach (var p in Persons)
{
if (condition(p)) list.Add(p);
}
return list;
}
List<Person> list;
//查找名字叫张三的人。
list = FindPerson(delegate(Person p) { return p.Name == "张三"; });
foreach (var item in list)
{
Console.WriteLine(item);
}
//查找年龄在20~30岁的人。
list = FindPerson(delegate(Person p) { return p.Age >= 20 && p.Age <= 30; });
foreach (var item in list)
{
Console.WriteLine(item);
}
//查找职务角色是经理的人
list = FindPerson(delegate(Person p) { return p.Role == RoleType.Manager; });
foreach (var item in list)
{
Console.WriteLine(item);
}
list = FindPerson(delegate(Person p) { return p.Age % 2 == 0; });
foreach (var item in list)
{
Console.WriteLine(item);
}
list = FindPerson(delegate(Person p) { return p.Name.SubString(0, 1) == "张"; });
foreach (var item in list)
{
Console.WriteLine(item);
}