LINQ查询order by子句

  在LINQ查询表达式中,orderby子句可以对查询结果进行排序。排序方式可以为“升序”或“降序”,且排序的键可以为一个或多个。

  注意:LINQ查询表达式对查询结果的默认排序方式为“升序”。

  下面的代码实例中的OrderQuery()函数演示了orderby子句对查询的结果进行倒序排序的方法,具体步骤说明如下。

(1)创建数据类型为List<UserInfo>的数据源users。

(2)使用where子句选择ID值小于6的用户。

(3)使用orderby子句对查询结果按照用户的名称进行倒序排序。

(4)使用foreach语句输出查询的结果。

private void OrderQuery()

         {   ///构建数据源
                   List<UserInfo> users = new List<UserInfo>();
                   for (int i = 1; i < 10; i++)
                   {
                            users.Add(new UserInfo(i,"User0" + i.ToString(),"User0" + i.ToString() + "@web.com"));
                   }
                   ///根据用户的Username的值进行倒序排序
                   var values = from u in users
                                                where u.ID < 6
                                                orderby u.Username descending
                                                select u;
                   ///显示查询结果
                   foreach (UserInfo u in values)
                   {
                            Response.Write(u.Username + "</br>");
                   }
         }

  运行上述实例代码,在IE浏览器中查看orderby子句排序的结果,如图所示。

 

  下面的代码实例中的OrderOtherQuery()函数演示了orderby子句对查询的结果进行倒序排序(多个排序关键字)的方法,具体步骤说明如下。

(1)创建数据类型为List<UserInfo>的数据源users。

(2)使用where子句选择ID值小于6的用户。

(3)使用orderby子句对查询结果进行排序,并使用两个排序关键字。u.Username关键字按照用户的名称进行倒序排序,u.ID关键字按照用户的ID值进行升序排序。

(4)使用foreach语句输出查询的结果。

private void OrderOtherQuery()
         {   ///构建数据源
                   List<UserInfo> users = new List<UserInfo>();
                   for (int i = 1; i < 10; i++)
                   {
                            users.Add(new UserInfo(i,"User0" + i.ToString(),"User0" + i.ToString() + "@web.com"));
                   }
                   ///根据用户的Username的值进行倒序排序
                   var values = from u in users
                                                where u.ID < 6
                                                orderby u.Username descending,u.ID ascending
                                                select u;
                   ///显示查询结果
                   foreach (UserInfo u in values)
                   {
                            Response.Write(u.Username + "</br>");
                   }
         }

  运行上述实例代码,在IE浏览器中查看orderby子句排序(多个排序关键字)的结果,如图所示。

 

来源:http://blog.csdn.net/linqmail/article/details/2301723

加支付宝好友偷能量挖...


评论(0)网络
阅读(84)喜欢(0)asp.net-linq