List<PeopleModel> list = new List<PeopleModel>();
list.Add(new PeopleModel() { Name = "小明", Age = 18 });
list.Add(new PeopleModel() { Name = "小明2", Age = 18 });
list.Add(new PeopleModel() { Name = "小红", Age = 17 });
list.Add(new PeopleModel() { Name = "小黑", Age = 19 });
//单个条件过滤
List<PeopleModel> ls1 = list.Where(m => m.Age > 17).ToList();
ls1 = list.Where(m =>{
if (m.Age > 17)
return true;
return false;
}).ToList();
//多个条件过滤
List<PeopleModel> ls2 = list.Where(m => m.Name.Contains("明") || m.Name.Contains("红")).ToList();
//使用回调方式
Func<PeopleModel, bool> cb2 = delegate (PeopleModel m) {
if (m.Name.Contains("明") || m.Name.Contains("红"))
return true;
return false;
};
ls2 = list.Where(cb2).ToList();
//返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值。
PeopleModel p1 = list.Where(m => m.Age == 15).FirstOrDefault();
//返回list中匹配的第一个元素,如果没有匹配到返回null
PeopleModel pm = list.Find(m => m.Age > 20);