Student实体类
以下是按.net 框架封装的原理
public class Student { public int Age { get; set; } public string Name { get; set; } public string QQ { get; set; } }
//初始化两个集合的数据 List<int> intList = new List<int> { 1, 324, 5, 56, 123, 545, 23, 6 }; List<Student> studentList = new List<Student>() { new Student() { Age=18, Name="lqwvje", QQ="78630559" }, new Student() { Age=19, Name="995w", QQ="2334160" }, new Student() { Age=20, Name="luofenming", QQ="813200300" } }; //查询原理 通过这个 我们也可以联想到其它的通用方法进行数据处理 public List<T> LqwvjeWhere1<T>(List<T> listData, Func<T, bool> func) { List<T> resultList = new List<T>(); foreach (T t in listData) { if (func.Invoke(t)) { resultList.Add(t); } } return resultList; } //方法调用 { List<int> d = LqwvjeWhere1(intList, i => i > 5);//查询大于5的数据 List<Student> students = LqwvjeWhere1<Student>(studentList, student => student.Age > 18);//查询年龄大于18的数据 }
以下是按.net 框架封装的原理
public static class LqwvjeExtend//静态类 { public static List<T> LqwvjeWhere<T>(this List<T> listData, Func<T, bool> func)//注意要静态 参数集合前面要加个this { List<T> resultList = new List<T>(); foreach (T t in listData) { if (func.Invoke(t)) { resultList.Add(t); } } return resultList; } } //方法调用 List<Student> list = studentList.LqwvjeWhere<Student>(student => student.Age > 18);