LINQ匿名类型剖析

LINQ有很多值得学习的地方,这里我们主要介绍LINQ匿名类型,包括介绍新建一个具有City和Distance 两个属性的LINQ匿名类型来实现等方面

LINQ匿名类型(Anonymous Types)

LINQ能够利用的另一个C#和VB新特性之一就是对“LINQ匿名类型”的支持。这允许你不需明确声明对象模型就能很容易地创建和使用内联的类型结构,因为类型可以通过数据的初始 化推断出来。这在使用LINQ查询“自定义构形(custom shape)”数据时非常的有用。

例如,考虑这样一个场景:你正在处理一个具有许多属性的数据库或者强类型的集合-但是你只关心其中少数的 几个字段。与创建和处理整个类型相比,仅返回你所需要的字段将会更加有用些。我们来新建一个"step6.aspx"文件来实现以上操作:

 
 
 
  1. <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Step6.aspx.cs" Inherits="Step6" %>
  2.  
  3.  id="form1" runat="server">
  4.  
  5. Anonymous Type

  6.  
  7.  ID="GridView1" runat="server">
  8.  
  • 在我们的后台代码文件中我们将编写一个使用LINQ匿名类型的LINQ查询,如下所示:

     
     
     
    1. using System;
    2. using System.Web.UI;
    3. using System.Query;
    4.  
    5. public partial class Step6 : System.Web.UI.Page
    6. {
    7. protected void Page_Load(object sender, EventArgs e)
    8. {
    9. TravelOrganizer travel = new TravelOrganizer();
    10.  
    11. GridView1.DataSource = from location in travel.PlacesVisited
    12. & nbsp; orderby location.City
    13. & nbsp; select new {
    14. & nbsp; & nbsp;City = location.City,
    15. & nbsp; & nbsp;Distance = location.Distance
    16. & nbsp; };
    17. GridView1.DataBind();
    18. }

    注意,我们并没有像上面一样从select子句中返回一个"location"对象,我们通过新建一个具有City和Distance 两个属性的LINQ匿名类型来实现。这两个属性的类型是根据它们初始化时赋与的值来自动确定的,在这里是一个是 string,另一个是int。

    网站标题:LINQ匿名类型剖析
    新闻来源:http://www.csdahua.cn/qtweb/news26/384376.html

    网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网