classProgram{staticvoidMain(string[] args){//list集合数据
List<Student> students =newList<Student>{newStudent{ Id =1, UserName ="王重阳", Sex ="男", Province ="湖北", CreateTime=DateTime.Parse("2020-09-27 03:32:23")},newStudent{ Id =5, UserName ="一灯大师", Sex ="男", Province ="湖南", CreateTime=DateTime.Parse("2020-09-23 05:42:03")},newStudent{ Id =3, UserName ="欧阳锋", Sex ="男", Province ="江西", CreateTime=DateTime.Parse("2020-09-02 08:01:02")},newStudent{ Id =1, UserName ="洪七公", Sex ="男", Province ="四川", CreateTime=DateTime.Parse("2020-09-07 22:53:33")},newStudent{ Id =1, UserName ="黄药师", Sex ="男", Province ="江苏", CreateTime=DateTime.Parse("2020-09-29 20:20:38")},newStudent{ Id =1, UserName ="林朝英", Sex ="女", Province ="湖北", CreateTime=DateTime.Parse("2020-09-11 03:32:23")},newStudent{ Id =5, UserName ="孙婆婆", Sex ="女", Province ="山东", CreateTime=DateTime.Parse("2020-09-10 05:42:03")},newStudent{ Id =3, UserName ="李莫愁", Sex ="女", Province ="河南", CreateTime=DateTime.Parse("2020-09-10 08:01:02")},newStudent{ Id =1, UserName ="陆无双", Sex ="女", Province ="河北", CreateTime=DateTime.Parse("2020-09-15 22:53:33")},newStudent{ Id =1, UserName ="洪凌波", Sex ="女", Province ="江苏", CreateTime=DateTime.Parse("2020-09-03 20:20:38")},newStudent{ Id =1, UserName ="小龙女", Sex ="女", Province ="湖北", CreateTime=DateTime.Parse("2020-09-01 01:12:53")},};//用Lambda表达式处理一些sql里面常遇到的问题//1.去重//students = students.Where((x, i) => students.FindIndex(z => z.Province == x.Province) == i).ToList();//Console.WriteLine("---------------------------------去重方式1.");//foreach (var user in students)//{// Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);//}
Console.WriteLine("---------------------------------去重方式(分组后取第一条数据)2.");
students = students.GroupBy(c => c.Province).Select(c => c.First()).ToList();foreach(var user in students){
Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);}//2.排序
students = students.OrderBy(v => v.CreateTime).ToList();
Console.WriteLine("---------------------------------升序排序");foreach(var user in students){
Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);}
students = students.OrderByDescending(v => v.CreateTime).ToList();
Console.WriteLine("---------------------------------降序排序");foreach(var user in students){
Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);}//3.条件查询
students = students.Where(v => v.Sex.Contains("男")).ToList();//日期范围查询//DateTime StartTime = DateTime.Parse("2020-09-03 20:20:38");//DateTime EndTime = DateTime.Parse("2020-09-23 05:42:03");//students = students.Where(v => v.CreateTime >= StartTime && v.CreateTime <= EndTime).ToList();
Console.WriteLine("---------------------------------条件查询");foreach(var user in students){
Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);}//4.分页
students = students.OrderByDescending(u => u.CreateTime).Skip(5*(1-1)).Take(5).ToList();
Console.WriteLine("---------------------------------分页");foreach(var user in students){
Console.WriteLine("Id:{0},UserName:{1},Sex:{2},Province:{3},CreateTime:{4}", user.Id, user.UserName, user.Sex, user.Province, user.CreateTime);}
Console.WriteLine("");
Console.Read();}}