LINQ查询表达式剖析 linq查询表达式的优缺点
创始人
2024-06-06 18:11:03
0

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

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

  1. <%@ Page Language="C#" CodeFile="Step1.aspx.cs" Inherits="Step1" %> 
  2.    
  3.  
  4.  
  5.  id="form1" runat="server"> 
  6.  
  7.    
  8. City Names

     
  9.    
  10.  ID="GridView1" runat="server"> 
  11.  
  12.    
 
  •  
  •  
  •  
  • 然后在后台代码文件中我们将编写经典的“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-"select"子句选择的对象类型决定了这里 的的类型。因为上面例子中"city"是一个字符串,所以类型安全的结果是一个如下所示的基于泛型 的集合:

    1. IEnumerable 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概述

    相关内容

    热门资讯

    如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
    如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
    施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
    20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
    德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
    为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
    《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
    2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...