C#基础知识之九
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1、 LINQ查询使用:查询语法和方法语法。前者是声明形式和SQL语句相似,使用查询表达式形式书写,后者是命令形式,使用标准的方法调用,也可以组合两种方法。
2、 Linq查询返回两种类型的结果:一个枚举和标量的单一值。
3、 Linq查询表达式的结构:由查询体后的from子句组成。子句按一定的顺序出现,from子句和selet…group子句两部分是必须的,其他子句是可选的。
4、 Linq查询表达式与SQL中select子句不同,前者在表达式最后,后者在表达式前面。
例:从数据集arrs中选择字段item小于13数;
Linq: from item in arrs where item<13 select item;
SQL: select item from arrs where item<13
5、 Linq查询表达式的from子句和foreach语句不同:前者遇到代码什么也不执行,用于创建一个储存查询变量的可枚举对象,而后者执行其主体。
6、 Join子句:from s in students join c in Courses on s.stid equals c.stid
7、 Linq中联结接受两个集合创建一个临时的对象集合,每个元素包含两个原始集合中的原始成员。
8、 Let子句接受一个表达式的运算并且把它赋值给一个需要在其他运算中使用的标识符。
9、 Where子句根据之后的运算来去除不符合指定条件的项。可以有任意多个where子句。
10、 Order by子句接受一个表达式并根据表达式依次返回结果项。默认是升序,ascending升序,descending降序。可以有任意多个子句。
11、 linq查询结果可以由原始集合的项、原始集合中项的一些字段或匿名类型组成。匿名类型 例:select new{s.LastName, s.FirstName ,s.Major };
12、 group子句把select的对象根据一些标准进行分组。作为分组的项叫做键(key),例:group student by student.Major;
13、 查询延续子句可以接受查询的一部分结果并赋予一个名字,从而可以在查询的另一部分中使用。例:from a in groupA join b in groupB on a equals b into groupAandB from c ingroupAandB select c;
14、 标准查询运算符由一系列叫做API的方法组成。被查询的集合对象叫做序列,它必须实现IEnumerable<T>接口,标准查询运算符使用方法语法。
15、 标准查询运算符的签名:必须声明这public和static,第一个参数前有this扩展指示器,把IEnumerable<T>作为第一个参数类型。例:public static T First<T>(this IEnumerable<T> source);
16、 谓词:产生布尔值的参数委托。
17、 Linq to XML标记语言:XML标签是区分大小写的,文档中的空格是有效的。
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688