关键字 | 说明 |
from | 指定范围变量和数据源 |
where | 根据bool表达式从数据源中筛选数据 (条件表达式 !=,==,&&,||) |
select | 指定查询结果中的元素所具有的类型和表现形式 (在select子句上,可以非常灵活的处理查询到的元素,然后再把结果返回。) |
group | 对查询结果按照键值进行分组(IGrouping (根据语法的规定,LINQ表达式必须以from子句开头,以select或group子句结束。 所以除了使用select来返回结果外,也可以使用group子句来返回元素分组后的结果。) |
into | 提供一个标识符,它可以充当对join、group或select子句结果的引用 (into子句作为一个临时标识符,用于group、select、join子句中充当其结果的引用。) |
order by | 对查询出的元素进行排序(ascending/descending) |
join | 按照两个指定匹配条件来Equals连接两个数据源 (如果一个数据源中元素的某个属性可以跟另外一个数据源的中元素的某个属性进行相等比较,那么这两个数据源可以用join子句进行关联。) |
let | 产生一个用于存储查询表达式中的子表达式查询结果的范围变量 (let子句用于在LINQ表达式中存储子表达式的计算结果。) |
from语句
List list=...
var query =from u in list select u;
where语句
int[] arr =new int[]{0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
where n >3 && n<6
select n;
select语句
int[] arr =new int[] {0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
select n*10;
group语句
int[] arr =new int[]{0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
where n>1 && n<6
group n by n%2;
into语句
int[] arr =new int[]{0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
where n>1&& n<6
group n by n%2 into g
from sn in g
select sn;
order by语句
int[] arr =new int[]{0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
where n>1 && n<6
orderby n descending
select n ;
join语句
int[] arra =new int[] {0,1,2,3,4,5,6,7,8,9};
int[] arrb =new int[]{0,2,4,6,8};
var query =from a in arra
where a <7
join b in arrb on a equals b
select a;
let语句
int[] arr =new int[]{0,1,2,3,4,5,6,7,8,9};
var query =from n in arr
let isEven =return n%2==0?true:false;
where isEven
select n;