日期:2014-05-20  浏览次数:20885 次

Linq入门演练---(1)基本用法-分组,排序,内连接

 

这一节大家共同学习下LINQ的基本用法,主要包括LINQ的分组,排序,和内外连接。

1.分组

   基本语法:  group element by key

                      element 表示查询结果返回的元素,key表示分组条件。group子句返回的类型为IGrouping<TKey,TElement>的查询结果。

                      IGrouping<TKey,TElement>可以看成一个hashtable内部嵌套一个list列表的数据结果. 其中TElement就是一个list

 我们看下面的一个事例,下面这个实例演示根据性别对用户进行分组

 代码

 


 

 


 

 

 效果图

以上是简单的分组,如果需要对分组结果进行排序,需要把分组结果保存到一个临时变量中

 语法: group element by key into  temp

   以下是按年龄从小到大的排序:

  代码


 

 

   效果图

 

 

2.排序

    在linq中排序使用orderby

    语法 orderby elment  descending||ascending

      ascending表示升序,descending表示降序

    下面这个DEMO演示按年龄从大到小排序

    代码:

    


  效果图

  

 

3.内连接

    内连接查询就是根据一定的条件查询两个数据源中都存在的元素

   语法: join elment  in datasource on re1 equals re2

   以下代码查找两个数组中都存在的元素。

  代码:


 

  查询结果:


 

4.左连接

  左连接和SQL中的左连接类似,返回第一个结果集中的所有元素。

 下面的代码演示使用左连接,左连接要用到defaultempty()方法,此方法从列表中获取指定元素,如果列表为空,返回默认值

代码


 

 

查询结果