C#基础知识点总结(九)- LINQ

LINQ(Language Intergrated Query,语言集成查询)在C#编程语言中集成了查询语法,可以用相同的语法访问不同的数据源

1. LINQ概述

72c72d837da04731aa6989ffecb71a6d.png

1.1 LINQ查询

1. 查询表达式必须以from子句开头,以select或group子句结束,在这两个子句之间,可以使用where,orderby,join,let和其他from子句

            var query = from r in Racer.ToListRacersInfo()
                        where r.name == "aaa"
                        orderby r.age descending
                        select r;

1.2 扩展方法

使用Enumerable类中的扩展方法Where(), OrderByDescending()和Select()。这些方法都返回IEnumerable<Source>

            var cham = new List<Racer>();
            IEnumerable<Racer> brazcham = cham.Where(r =< r.name == "aaa").
                                               OrderByDescending(r =< r.age).
                                               Select(r =< r);

1.3 推迟查询的执行

2. 标准的查询操作符

9f738a9da5914402ba334bfee84ee7e5.png

 e82119f22a7646d0ba6d59e57480a054.png

de6e74dfd9ef4310b68afdbfa50f339e.png

 下面查询要用的数据源:

   //定义一个Student类
    public class Student
    {
        public int Id;
        public string Name;
        public string Gender;
        public int Age;
    }
    //定义一个 Person类
   public class Person
    {
        public int Num;
        public double salary;
        public string address;
        public int worktime;
    }

            List<Student> students = new List<Student>();
            students.Add(new Student() { Id = 1, Name = "张三", Gender = "男", Age = 23 });
            students.Add(new Student() { Id = 2, Name = "李四", Gender = "女", Age = 27 });
            students.Add(new Student() { Id = 3, Name = "王五", Gender = "男", Age = 21 });
            students.Add(new Student() { Id = 4, Name = "赵六", Gender = "女", Age = 25 });
            students.Add(new Student() { Id = 3, Name = "老王", Gender = "男", Age = 21 });
            students.Add(new Student() { Id = 4, Name = "麻子", Gender = "女", Age = 25 });

            List<Person> person = new List<Person>();
            person.Add(new Person() { Num = 1, salary = 1000, address = "番豆花园", worktime = 1 });
            person.Add(new Person() { Num = 1, salary = 2000, address = "番豆大街", worktime = 2 });
            person.Add(new Person() { Num = 3, salary = 3000, address = "番豆别墅", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值