溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LINQ匿名類型有什么用

發(fā)布時(shí)間:2021-12-02 09:23:42 來源:億速云 閱讀:244 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(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)以上操作:

  1. <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Step6.aspx.cs" Inherits="Step6" %> 

  2.    

  3. <html> 

  4. <body> 

  5. <form id="form1" runat="server"> 

  6. <div> 

  7.    

  8. <h2>Anonymous Type</h2> 

  9.    

  10. <asp:GridView ID="GridView1" runat="server"> 

  11. </asp:GridView> 

  12.    

  13. </div> 

  14. </form> 

  15. </body> 

  16. </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ò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(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)容。

AI