LINQ基本语法

# LINQ基本语法 LINQ(Language Integrated Query)语言集成查询是一组用于C#语言的扩展。它允许编写C#代码以操作内存数据的方式,查询数据 本例主要讲解LINQ操作List数据集合;详细可自行百度学习 [LINQ操作List](https://www.baidu.com/s?wd=LINQ%E6%93%8D%E4%BD%9CList) 本例中用到的条件都是Lambda表达式;可结合[Lambda表达式详解](doc:1TuhLtBd)和后面的调取数据结合学习 ## Where条件筛选 ```cs //将provice=吉林的筛选出来 var list = List.Where(x => x.provice == "吉林").ToList(); // x => x.provice == "吉林" 就是Lambda表达式 //将包含1,5条件的数据筛选出来,相当于sql里的in用法:select * from 表 where user_type in (1,5) var list= List.Where(a => "1,5".Contains(a.user_type)).ToList(); //此处等同于上面 var list = List.Where(a => a.user_type == "1" || a.user_type == "5").ToList(); ``` ## Select查询 ```cs //相当于sql中select语句;获取指定的列 var list = List.Select(a => a.id).ToArray(); ``` ## Where与Select的同时使用 ```cs var list = List.Where(a => !string.IsNullOrEmpty(a.user_type)).Select(a => a.id).ToArray(); ``` ## OrderBy和OrderByDescending排序 ```cs //正序 var list = List.OrderBy(p => p.rpId).Where(p => p.rpId > 10).ToList(); //倒序 var list = List.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).ToList(); //2个排序 var list = List.OrderBy(a => a.student_id).ThenBy(a => a.name); //多个排序 var list = List.OrderBy(a => a.student_id).ThenBy(a => a.name).ThenBy(a => a.sex); ``` ## Skip,Take取特定条数数据 ```cs //取前1-10条 var list = List.Skip(0).Take(10).ToList(); //也可以这么写取前1-10条 var list = List.Take(10).ToList(); //取第11-20条 var list = List.Skip(10).Take(10).ToList(); ``` ## 包含,类似like '%%' ```cs //获取名字中含有张的列表 var list = List.Where(p => p.Name.Contains("张")).ToList(); ``` 在后续的使用过程中可根据条件自行组合所有的查询使用;高扩展可自行发挥使用