鼎鼎知识库
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

C#中的Linq.md 2.5KB

il y a 5 ans
il y a 5 ans
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. > Linq语句
  2. 其实Linq语句本质上是对实现了IEnumerable的接口的对象进行操作,而所有的数组和集合都实现了这个接口。
  3. > Linq常用的方法。
  4. - where
  5. - where用于筛选数据源中的元素,只要给他指定数据源中的子元素的任意布尔值类型的表达式就可以了。
  6. - where不是必须Linq使用里面必须指定的选项,但一般都要用到。
  7. - orderby
  8. - 类似于SQL,在对数据进行筛选之后,我们还可以进一步地对数据进行排序。
  9. - 如果是倒叙排列,则需要在后面加descending。
  10. - 聚合函数
  11. - 和SQL一样,Linq也有Max(),Min(),Count(),Sum(),Average()这些聚合函数,继续沿用上面的学生对象例子,聚合函数需要在Linq表达式之后输出使用。
  12. - select
  13. - select可以用以指定查询的具体字段
  14. - Take和Skip
  15. - Take和Skip可以用以进行前几个数据的筛选
  16. - Take用来表明获取几个的数据,Skip用来省略前几项的数据,指偏移量
  17. ```
  18. //取出成绩最高的三位学生
  19. var result = (from s in students
  20. orderby s.source descending
  21. select s.source).Take(3);
  22. //根据id查出学生信息,每页显示5个,当前是第2页
  23. var result = (from s in students
  24. orderby s.id
  25. select s.source).Skip(1*5).Take(5);
  26. ```
  27. - Distinct
  28. 这个方法将从序列(集合)中返回去重复(Distinct)元素
  29. - First
  30. 这个方法会返回序列中的第一个元素
  31. - All
  32. 这个方法确定是否所有元素序列都满足某种条件
  33. - Any
  34. 这个方法确定序列中的元素是否存在或者满足某种特定的条件
  35. - Average
  36. Average方法会计算在序列中的数字的平均值
  37. - Concat
  38. 这个方法的作用是连接(拼接)两个序列.这个方法通过"延迟执行"(deferred execution)来执行.它的返回值是包含需要执行特定操作所有信息的迭代器类型的一种实例
  39. - Contains
  40. 这个方法用来判断在一个序列(集合)中是否存在一个特殊的元素.这个方法有两种重载方式,第一种是通过默认的比较器来判断序列(集合)中是否有特殊的元素,另外一种是通过自定义
  41. - First
  42. 返回集合中的第一个元素;不延迟
  43. - FirstOrDefault
  44. 返回集合中的第一个元素(如果没有则返回默认值);
  45. - ToDictionary
  46. 将集合转换为<K, V>集合;
  47. - ToList
  48. 将集合转换为List<T>集合
  49. - ToArray
  50. 将集合转换为数组