本文向大家介绍LINQ查询表达式,可能好多人还不了解LINQ查询表达式,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
新建一个叫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>
然后在后台代码文件中我们将编写经典的“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查询表达式(query expression)对这个数组进行操作。这个查询表达式返回名字多于4个字符的所有城市,然后按照城市名 称的字母进行排序并把名字转换为大写。
LINQ查询表达式返回如下类型:IEnumerable<T>-"select"子句选择的对象类型决定了这里 的<T>的类型。因为上面例子中"city"是一个字符串,所以类型安全的结果是一个如下所示的基于泛型 的集合:
- IEnumerable<string> result = from city in cities
- & nbsp; where city.Length > 4
- & nbsp; orderby city
- & nbsp; select city.ToUpper();
因为ASP.NET控件能绑定到任何的IEnumerable集合,所以我们可以很容易的把LINQ查询结果绑定到GridView中, 然后调用DataBind()方法。
注意,除了可以使用上面的GridView控件外,我也可以使用 < asp:repeater>, < asp:datalist>, < asp:dropdownlist>, 或者任何其他ASP.NET的列表控件(可以是产品自带或者开发人员自己开发的控件)。在这些示例中我只使用了< asp:gridview>-但是你们可以使用任何其他的控件。
【编辑推荐】