本文介绍: c# 学习笔记 – LINQ
文章目录
1.LINQ概述
1.1 LINQ介绍
LINQ是语言集查询(Language Integrated Query, LINQ)的查询语言,其集成了c#当中的查询语法,可以通过相同的语法访问不同的数据源.
我们来看一个一个简单的LINQ查询的语法,LINQ查询语法和我们熟悉SQL查询语句非常相似,从哪个数据源查询from,查询条件where,以及中间的数据处理orderby操作,最后使用select查询即可.
var query = from x in students
where x.age >= 2
orderby x.age descending
select x;
foreach(var x in query) {
Console.WriteLine(x.age + " " + x.name);
}
LINQ细节注意
- LINQ是一个查询语句,其必须以from子句开头,以select 或 group 子句结束. 在这两个子句之间可以使用where、orderyby、join、let、其他from子句.
- LINQ当中的子句from、where、select等都是查询中预定义的关键字。
- LINQ查询的执行不是在定义的时候执行,而是在foreach循环访问查询的时候执行查询操作.
1.2 LINQ基本使用
using System.Collections;
class students {
public int age { get; set; }
public string name { get; set; }
public students(int v1, string v2) {
this.age = v1;
this.name = v2;
}
}
class Test {
static void Main() {
List<students> students = new List<students>(); // 定义数据源
students.Add(new students(3, "张三"));
students.Add(new students(1, "李一"));
students.Add(new students(2, "王二"));
var query = from x in students // 定义LINQ查询
where x.age >= 2
orderby x.age descending
select x;
foreach(var x in query) { // 使用foreach语句执行该查询
Console.WriteLine(x.age + " " + x.name);
}
}
}
/*
3 张三
2 王二
*/
1.3 LINQ的扩展
在这里插入代码片
2. 标准查询操作符
2.1 筛选(索引、类型筛选…)
筛选的通用代码(案例只写LINQ查询的关键代码)
using System.Collections;
class students {
public int age {get; set;}
public string name {get; set;}
public students(int v1, string v2){
this.age = v1;
this.name = v2;
}
}
class Test{
static void Main(){
List<students> students = new List<students>();
students.Add(new students(1, "A1"));
students.Add(new students(2, "B2"));
students.Add(new students(3, "C3"));
students.Add(new students(4, "A4"));
students.Add(new students(5, "B5"));
students.Add(new students(6, "C6"));
var query = from r in students
where r.age >= 2 && r.age <= 5
select r;
foreach(var x in query) {
Console.WriteLine(x.name + " " + x.age);
}
}
}
筛选:
// 简单查询
var query = from r in students
where r.age >= 2 && r.age <= 5
select r;
// 使用了where() 与 select()扩展
var query = students.
Where(r => r.age >= 2 && r.age <= 5).
Select(r => r);
索引筛选:
// 利用where方法的重载实现
var query = students.
Where((r, index) => index % 2 == 0). // 索引默认从0开始排序
Select(r => r);
类型筛选:
// 使用OfType()扩展方法,将string类型参数传递给泛型参数
object[] data = { "one", 2, "three", 4, "five", 6 };
var query = data.OfType<string>();
foreach(var item in query) {
Console.WriteLine(item);
}
2.2 索引筛选
2.3
3. xxxxxxx
原文地址:https://blog.csdn.net/weixin_51566349/article/details/135402275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_52344.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。