LINQ查詢表達(dá)式剖析
本文向大家介紹LINQ查詢表達(dá)式,可能好多人還不了解LINQ查詢表達(dá)式,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
新建一個叫Step1.aspx的新頁面。添加一個GridView控件到頁面中,如下所示:
- <%@ Page Language="C#" CodeFile="Step1.aspx.cs" Inherits="Step1" %>
 - <html>
 - <body>
 - <form id="form1" runat="server">
 - <div>
 - <h1>City Names</h1>
 - <asp:GridView ID="GridView1" runat="server">
 - </asp:GridView>
 - </div>
 - </form>
 - </body>
 - </html>
 
然后在后臺代碼文件中我們將編寫經(jīng)典的“hello world”LINQ示例-包括對一列字符串的搜索和排序:
- using System;
 - using System.Web;
 - using System.Web.UI;
 - using System.Web.UI.WebControls;
 - using System.Query;
 - public partial class Step1 : System.Web.UI.Page
 - {
 - protected void Page_Load(object sender, EventArgs e)
 - {
 - string[] cities = { "London", "Amsterdam", "San Francisco", "Las Vegas",
 - & nbsp;"Boston", "Raleigh", "Chicago", "Charlestown",
 - & nbsp;"Helsinki", "Nice", "Dublin" };
 - GridView1.DataSource = from city in cities
 - & nbsp; where city.Length > 4
 - & nbsp; orderby city
 - & nbsp; select city.ToUpper();
 - GridView1.DataBind();
 - }
 - }
 
在上面的示例中,我列出了一組我今年一月到五月所去過的城市的名稱。然后我用LINQ查詢表達(dá)式(query expression)對這個數(shù)組進(jìn)行操作。這個查詢表達(dá)式返回名字多于4個字符的所有城市,然后按照城市名 稱的字母進(jìn)行排序并把名字轉(zhuǎn)換為大寫。
 
LINQ查詢表達(dá)式返回如下類型:IEnumerable<T>-"select"子句選擇的對象類型決定了這里 的<T>的類型。因?yàn)樯厦胬又?city"是一個字符串,所以類型安全的結(jié)果是一個如下所示的基于泛型 的集合:
- IEnumerable<string> result = from city in cities
 - & nbsp; where city.Length > 4
 - & nbsp; orderby city
 - & nbsp; select city.ToUpper();
 
因?yàn)锳SP.NET控件能綁定到任何的IEnumerable集合,所以我們可以很容易的把LINQ查詢結(jié)果綁定到GridView中, 然后調(diào)用DataBind()方法。
注意,除了可以使用上面的GridView控件外,我也可以使用 < asp:repeater>, < asp:datalist>, < asp:dropdownlist>, 或者任何其他ASP.NET的列表控件(可以是產(chǎn)品自帶或者開發(fā)人員自己開發(fā)的控件)。在這些示例中我只使用了< asp:gridview>-但是你們可以使用任何其他的控件。
【編輯推薦】















 
 
 
 
 
 
 