您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)LINQ匿名類型有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
LINQ匿名類型(Anonymous Types)
LINQ能夠利用的另一個(gè)C#和VB新特性之一就是對“LINQ匿名類型”的支持。這允許你不需明確聲明對象模型就能很容易地創(chuàng)建和使用內(nèi)聯(lián)的類型結(jié)構(gòu),因?yàn)轭愋涂梢酝ㄟ^數(shù)據(jù)的初始 化推斷出來。這在使用LINQ查詢“自定義構(gòu)形(custom shape)”數(shù)據(jù)時(shí)非常的有用。
例如,考慮這樣一個(gè)場景:你正在處理一個(gè)具有許多屬性的數(shù)據(jù)庫或者強(qiáng)類型的集合-但是你只關(guān)心其中少數(shù)的 幾個(gè)字段。與創(chuàng)建和處理整個(gè)類型相比,僅返回你所需要的字段將會(huì)更加有用些。我們來新建一個(gè)"step6.aspx"文件來實(shí)現(xiàn)以上操作:
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Step6.aspx.cs" Inherits="Step6" %>
<html>
<body>
<form id="form1" runat="server">
<div>
<h2>Anonymous Type</h2>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
在我們的后臺(tái)代碼文件中我們將編寫一個(gè)使用LINQ匿名類型的LINQ查詢,如下所示:
using System; using System.Web.UI; using System.Query; public partial class Step6 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { TravelOrganizer travel = new TravelOrganizer(); GridView1.DataSource = from location in travel.PlacesVisited & nbsp; orderby location.City & nbsp; select new { & nbsp; & nbsp;City = location.City, & nbsp; & nbsp;Distance = location.Distance & nbsp; }; GridView1.DataBind(); } }
注意,我們并沒有像上面一樣從select子句中返回一個(gè)"location"對象,我們通過新建一個(gè)具有City和Distance 兩個(gè)屬性的LINQ匿名類型來實(shí)現(xiàn)。這兩個(gè)屬性的類型是根據(jù)它們初始化時(shí)賦與的值來自動(dòng)確定的,在這里是一個(gè)是 string,另一個(gè)是int。
感謝各位的閱讀!關(guān)于“LINQ匿名類型有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。