初涉Linq

来源:互联网 发布:shape和size python 编辑:程序博客网 时间:2024/06/15 09:53
namespace Linq{    public class Student    {        public int Id{get;set;}        public string Name{get;set;}        public int Age{get;set;}    }    class Program    {                static void Main(string[] args)        {            List<Student> studentlist = new List<Student>()            {                new Student(){                Id=1,                Name="卡卡西",                Age=26                },                new Student(){                Id=2,                Name="鸣人",                Age=18                },                new Student(){                Id=3,                Name="佐助",                Age=32                },                new Student(){                Id=4,                Name="小李",                Age=27                },                new Student(){                Id=5,                Name="纲手",                Age=55                },                new Student(){                Id=6,                Name="我爱罗",                Age=16                }            };            {                Console.WriteLine("**********Linq 进行查询list里面 年龄大于30岁的 并打印出来*********");                var newlist = studentlist.Where(t => t.Age > 30);//陈述式                foreach (var item in newlist)                {                    Console.WriteLine("{0}  {1}  {2}岁", item.Id, item.Name, item.Age);                }            }            {                Console.WriteLine("**********Linq 通过form进行查询list里面 年龄大于15岁的 并打印出来*********");                var newlist = from s in studentlist                              where s.Age > 15                              select new                              {                                  IdAge = string.Format("{0}_{1}", s.Id, s.Age),                                  Name = s.Name                              };                //                //select s;                foreach (var item in newlist)                {                    Console.WriteLine("{0}  {1}", item.IdAge, item.Name);                }            }            {                Console.WriteLine("**********Linq 进行查询list里面 年龄大于20岁的把ID和年龄合并一起打印出来 ID_年龄*********");                var newlist = studentlist.Where(t => t.Age > 20)                    .Select(t => new                    {                        IdAge = string.Format("{0}_{1}", t.Id, t.Age),                        Name = t.Name                    });                foreach (var item in newlist)                {                    Console.WriteLine("{0}  {1}", item.IdAge, item.Name);                }            }            {                Console.WriteLine("**********Linq 进行查询年龄从大到小排序 第三到第五人*********");                var newlist = studentlist//.OrderBy(t => t.Age) //根据Age排序 从小到大                                         .OrderByDescending(t => t.Age) //从大到小排序                                         .Skip(2) //跳过前两条                                         .Take(3); //共获取3条数据                                 foreach (var item in newlist)                {                    Console.WriteLine("{0}  {1}  {2}岁", item.Id, item.Name, item.Age);                }            }            {                Console.WriteLine("*****大集合*******");                var newlist = studentlist.Where(t => t.Age > 10 && t.Id < 20) //查询年龄大于10并且ID小于20的                    .OrderBy(t => t.Age)//按照年龄排序 从小到大                    .Skip(1)//跳过第一条                    .Take(3)//获取3条                    .Select(t => new//投影成一个新类                    {                        StudentId = t.Id,                        StudentName = t.Name,                        StudentAge = t.Age                    });                foreach (var item in newlist)                {                    Console.WriteLine("{0}  {1}  {2}岁", item.StudentId, item.StudentName, item.StudentAge);                }            }        }    }}

0 0