LINQ查询表达式剖析

开发 后端
这里介绍LINQ查询表达式,这个查询表达式返回名字多于4个字符的所有城市,然后按照城市名 称的字母进行排序并把名字转换为大写。

本文向大家介绍LINQ查询表达式,可能好多人还不了解LINQ查询表达式,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

新建一个叫Step1.aspx的新页面。添加一个GridView控件到页面中,如下所示:

  1. <%@ Page Language="C#" CodeFile="Step1.aspx.cs" Inherits="Step1" %> 
  2.    
  3. <html> 
  4. <body> 
  5. <form id="form1" runat="server"> 
  6. <div> 
  7.    
  8. <h1>City Names</h1> 
  9.    
  10. <asp:GridView ID="GridView1" runat="server"> 
  11. </asp:GridView> 
  12.    
  13. </div> 
  14. </form> 
  15. </body> 
  16. </html> 

然后在后台代码文件中我们将编写经典的“hello world”LINQ示例-包括对一列字符串的搜索和排序:

  1. using System;  
  2. using System.Web;  
  3. using System.Web.UI;  
  4. using System.Web.UI.WebControls;  
  5. using System.Query;  
  6.    
  7. public partial class Step1 : System.Web.UI.Page  
  8. {  
  9. protected void Page_Load(object sender, EventArgs e)  
  10. {  
  11. string[] cities = { "London", "Amsterdam", "San Francisco", "Las Vegas",  
  12. & nbsp;"Boston", "Raleigh", "Chicago", "Charlestown",  
  13. & nbsp;"Helsinki", "Nice", "Dublin" };  
  14.    
  15. GridView1.DataSource = from city in cities  
  16. & nbsp; where city.Length > 4  
  17. & nbsp; orderby city  
  18. & nbsp; select city.ToUpper();  
  19.    
  20. GridView1.DataBind();  
  21. }  

在上面的示例中,我列出了一组我今年一月到五月所去过的城市的名称。然后我用LINQ查询表达式(query expression)对这个数组进行操作。这个查询表达式返回名字多于4个字符的所有城市,然后按照城市名 称的字母进行排序并把名字转换为大写。
 
LINQ查询表达式返回如下类型:IEnumerable<T>-"select"子句选择的对象类型决定了这里 的<T>的类型。因为上面例子中"city"是一个字符串,所以类型安全的结果是一个如下所示的基于泛型 的集合:

  1. IEnumerable<string> result = from city in cities  
  2. & nbsp; where city.Length > 4  
  3. & nbsp; orderby city  
  4. & nbsp; select city.ToUpper(); 

因为ASP.NET控件能绑定到任何的IEnumerable集合,所以我们可以很容易的把LINQ查询结果绑定到GridView中, 然后调用DataBind()方法。

注意,除了可以使用上面的GridView控件外,我也可以使用 < asp:repeater>, < asp:datalist>, < asp:dropdownlist>, 或者任何其他ASP.NET的列表控件(可以是产品自带或者开发人员自己开发的控件)。在这些示例中我只使用了< asp:gridview>-但是你们可以使用任何其他的控件。

【编辑推荐】

  1. LINQ to SQL Table浅谈
  2. Linq语句问题的解决方法
  3. Ling to sql更新实体概述
  4. Linq实体继承简单描述
  5. Linq Library概述
责任编辑:佚名 来源: IT168
相关推荐

2009-09-07 17:18:33

LINQ查询表达式

2009-09-11 09:48:27

Linq Lambda

2011-10-28 16:34:13

LINQ

2009-09-11 09:53:16

Linq查询表达式

2009-08-27 09:13:28

LINQ查询表达式

2009-09-17 11:08:55

LINQ查询表达式

2009-09-17 09:09:50

Lambda表达式Linq查询

2009-09-11 12:32:33

LINQ表达式

2009-09-15 15:18:00

Linq Lambda

2009-09-09 13:01:33

LINQ Lambda

2009-09-09 17:45:07

Linq表达式

2009-09-17 14:21:19

LINQ表达式

2009-06-12 09:44:04

LINQ查询复合from子句

2009-09-17 10:40:22

Linq Lambda

2009-09-15 17:30:00

Linq Lambda

2009-09-17 09:44:54

Linq Lambda

2009-09-17 09:15:49

Linq表达式树

2009-03-23 10:47:43

数据库SQLLINQ

2009-09-09 17:14:17

Linq lambda

2009-09-17 14:24:35

LINQ表达式
点赞
收藏

51CTO技术栈公众号