标签:未来 筛选 学校 梳理 rom sql read code write
由于个人在学校没有接触过Linq,而且在工作上运用Linq的时候也比较多,准备把LINQ的相关知识学习整理梳理一遍,希望能填补下这个知识点,也为未来减轻压力。
LINQ查询表达式使用C#常见的语言构造,从外观上看,和我们常用的SQL类似,并且查询表达式中的变量可以用匿名类型,所以在很多情况下,不需要指定变量类型就可以构建LINQ表达式。
LINQ的数据源可以是数据库对象或是XML流等,也可以使实现了IEnumerable或者泛型IEnumberable<T>接口的集合对象。
LINQ的基本语法包含如下的8个上下文关键字,如下:
关键字 | 说明 |
from | 指定范围变量和数据源 |
where | 根据bool表达式从数据源中筛选数据 |
select | 指定查询结果中的元素所具有的类型或表现形式 |
group | 对查询结果按照键值进行分组(IGrouping<TKey,TElement>) |
into | 提供一个标识符,它可以充当对join、group或select子句结果的引用 |
order | 对查询出的元素进行排序(ascending/descending) |
join | 按照两个指定匹配条件来Equals连接两个数据源 |
let | 产生一个用于存储查询表达式中的子表达式查询结果的范围变量 |
如果要写一个LINQ表达式,就必须是以from子句开头:
//单个form子句 string[] values = { "学习使我快乐", "学习使我幸福", "爸爸叫我吃饭", "我充耳不闻" }; var new_values = from value in values where value.IndexOf("学习") > -1 select new { value, value.Length }; foreach (var new_value in new_values) { Console.WriteLine("{0},{1}", new_value.value, new_value.Length); } Console.ReadKey(); //使用LINQ查询List集合 List<Person> personList = new List<Person>(); personList.Add(new Person { Name = "张三", Age = 20, Gender = ‘男‘ }); personList.Add(new Person { Name = "李四", Age = 21, Gender = ‘女‘ }); personList.Add(new Person { Name = "王五", Age = 22, Gender = ‘男‘ }); var new_personList = from Person person in personList where person.Age > 20 select person; foreach (Person new_person in new_personList) { Console.WriteLine("{0} 年龄:{1} 性别:{2}", new_person.Name, new_person.Age, new_person.Gender); } Console.ReadKey();
本文持续更新。。。。。。
标签:未来 筛选 学校 梳理 rom sql read code write
原文地址:https://www.cnblogs.com/jiechou/p/9175794.html