e=15 },
new Student(){ Id=21,Name="张三c",ClassId=1011,Age=15 },
new Student(){ Id=22,Name="张三d",ClassId=1011,Age=15 },
new Student(){ Id=23,Name="张三e",ClassId=1011,Age=15 },
new Student(){ Id=24,Name="张三f",ClassId=1011,Age=15 },
new Student(){ Id=25,Name="张三g",ClassId=3001,Age=15 },
new Student(){ Id=26,Name="张三h",ClassId=3001,Age=13 },
new Student(){ Id=27,Name="张三i",ClassId=3001,Age=13 },
new Student(){ Id=28,Name="张三j",ClassId=3001,Age=13 },
new Student(){ Id=29,Name="张三k",ClassId=3001,Age=13 },
};
public static List<Student> FindStudents(Func<Student,bool> func)
{
List<Student> stus = new List<Student>();
foreach (var item in students)
{
if (func(item))
{
stus.Add(item);
}
}
return stus;
}
/// <summary>
/// 查找ClassId为3001的学生
/// </summary>
/// <param name="student">学生</param>
/// <returns>是否为3001班级的学生</returns>
public static bool GetClassId(Student student)
{
if (student.ClassId==3001)
{
return true;
}
return false;
}
/// <summary>
/// 年龄大于20的学生
/// </summary>
/// <param name="student"></param>
/// <returns></returns>
public static bool GetBigAge(Student student)
{
if (student.Age>20)
{
return true;
}
return false;
}
/// <summary>
/// 年龄大于15 并且ClassId为1021
/// </summary>
/// <param name="student"></param>
/// <returns></returns>
public static bool GetStuByClassIdAndAge(Student student)
{
if (student.Age > 15 && student.ClassId==1021)
{
return true;
}
return false;
}
}
下面这个是在Main方法中执行查询学生
//List<Student> stus = StudentManager.students;
//Console.WriteLine("姓名---年龄---班级--编号");
//foreach (var item in stus)
//{
// Console.WriteLine(item.Name+"---"+item.Age+"---"+item.ClassId+"---"+item.Id);
//}
List<Student> stus1= StudentManager.FindStudents(StudentManager.GetStuByClassIdAndAge);
Console.WriteLine("姓名---年龄---班级--编号");
foreach (var item in stus1)
{
Console.WriteLine(item.Name + "---" + item.Age + "---" + item.ClassId + "---" + item.Id);
}
|