成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq匿名類型簡單概述

開發 后端
這里介紹創建Linq匿名類型時,可顯式聲明字段的名稱。例如,如果正在創建的字段派生于一條復雜的表達式,或純粹不需要名稱,就可以更改名稱。

Linq有很多值得學習的地方,這里我們主要介紹Linq匿名類型,包括介紹使用Linq匿名類型的地方都策略性地省略了局部變量的類型等方面。

Linq匿名類型

如果我們想繼續使用我們現有的語法來返回名稱和地址,我們很快便會面臨問題,即不存在僅包含 Name 和 Address 的類型。雖然我們仍然可以編寫此查詢,但是必須引入該類型:

  1. class CustomerTuple  
  2. {  
  3. public string Name;  
  4. public string Address;  
  5.  
  6. public CustomerTuple(string name, string address)  
  7. {  
  8. this.Name = name;  
  9. this.Address = address;  
  10. }  
  11. }  

然后我們才能使用該類型,即此處的 CustomerTuple,以生成我們查詢的結果。

  1. IEnumerable<CustomerTuple> locals = customers.Where(c => c.ZipCode == 91822).
    Select(
    c => new CustomerTuple(c.Name, c.Address));  

那確實像許多用于投影出字段子集的樣板代碼。而且還往往不清楚如何命名此種類型。 CustomerTuple 確實是個好名稱嗎?如果投影出 Name 和 Age 又該如何命名?那也可以叫做 CustomerTuple。因此,問題在于我們擁有樣板代碼,而且似乎無法為我們創建的類型找到任何恰當的名稱。此外,還可能需要許多不同的類型,如何管理這些類型很快便可能成為一個棘手的問題。

這正是Linq匿名類型要解決的問題。此功能主要允許在無需指定名稱的情況下創建結構化類型。如果我們使用Linq匿名類型重新編寫上述查詢,其代碼如下所示:

  1. locals = customers.Where(c => c.ZipCode == 91822).
    Select(
    c => new { c.Name, c.Address });  

此代碼會隱式創建一個具有 Name 和 Address 字段的類型:

  1. class   
  2. {  
  3. public string Name;  
  4. public string Address;  

此類型不能通過名稱引用,因為它沒有名稱。創建Linq匿名類型時,可顯式聲明字段的名稱。例如,如果正在創建的字段派生于一條復雜的表達式,或純粹不需要名稱,就可以更改名稱:

  1. locals = customers.Where(c => c.ZipCode == 91822).Select(c => new { 
    FullName = c.FirstName + “ “ + c.LastName, HomeAddress = c.Address }); 

在此情形下,生成的類型具有名為 FullName 和 HomeAddress 的字段。

這樣我們又向理想世界前進了一步,但仍存在一個問題。您將發現,我在任何使用Linq匿名類型的地方都策略性地省略了局部變量的類型。顯然我們不能聲明Linq匿名類型的名稱,那我們如何使用它們?

【編輯推薦】

  1. LINQ匿名類型分析
  2. LINQ Where子句介紹
  3. LINQ使用Where擴展方法
  4. 介紹LINQ一些強大功能
  5. Linq使用Select淺談
責任編輯:佚名 來源: 賽迪網
相關推薦

2009-09-17 11:35:40

Linq匿名類型

2009-09-10 14:21:58

LINQ匿名類型

2009-09-14 15:50:52

Linq匿名委托類型

2009-09-10 14:37:57

LINQ匿名類型

2009-09-10 16:28:17

LINQ查詢

2009-09-09 16:07:16

Linq實體關系

2009-09-15 13:37:24

Linq To Sql

2009-09-10 13:13:47

Linq Func<T

2009-09-15 13:53:53

Linq To Sql

2009-09-14 10:54:07

LINQ解決方案

2009-09-11 09:53:16

Linq查詢表達式

2009-09-10 13:42:47

Linq UserIn

2009-09-10 11:10:21

Linq Librar

2009-08-27 10:19:22

C#匿名類型

2009-09-08 11:25:42

Linq foreac

2009-09-18 16:07:10

Linq Where操

2009-09-18 16:20:36

LINQ基礎

2009-09-08 16:08:44

Linq使用order

2009-09-11 12:13:40

LINQ to SQL

2009-09-14 09:55:55

Linq基本語法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线免费观看 | 国产一区日韩在线 | 亚洲综合热 | 亚洲精品一区二区冲田杏梨 | 超碰超碰| 亚洲成网站 | 一区二区三区四区不卡 | 中文字幕国产日韩 | 亚洲欧美另类在线观看 | 成人一区二区在线 | 国产精品免费一区二区三区 | 国产精品成人一区二区三区 | 欧美性生活视频 | 超碰97免费观看 | 久久国产婷婷国产香蕉 | 国产九九精品 | 欧美一区在线视频 | 久久久这里都是精品 | 国产日韩精品一区 | 亚洲国产精品视频一区 | 日韩成人免费视频 | 国产精品精品视频一区二区三区 | 国产一区二区三区四区三区四 | 国产1区2区3区 | 欧美一级欧美一级在线播放 | 九九热在线精品视频 | 天天干视频 | 日韩综合在线 | 91中文视频 | 中文字幕一区二区三区四区五区 | 国产大学生情侣呻吟视频 | 国产高清精品在线 | 国产特级毛片 | 一区二区三区影院 | 91麻豆精品国产91久久久久久久久 | 日本成人在线观看网站 | 香蕉一区| 在线高清免费观看视频 | 亚洲一区二区三区在线 | 91传媒在线观看 | 国产一区二区在线视频 |