初涉Linq

2 篇文章 0 订阅
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值