自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq隱式類型化局部變量

開發(fā) 后端
這里介紹Linq隱式類型化局部變量只是:方法內(nèi)部的局部變量。它們無法超出方法、屬性、索引器或其他塊的邊界,因為該類型無法顯式聲明,而且“var”對于字段或參數(shù)類型而言是非法的。

在向大家詳細介紹Linq隱式類型化局部變量之前,首先讓大家了解下編譯器推斷局部變量的類型,然后全面介紹。

Linq隱式類型化局部變量

還有另一種語言功能被稱為Linq隱式類型化局部變量(或簡稱為 var),它負責指示編譯器推斷局部變量的類型。例如:

  1. var integer = 1

在此例中,整數(shù)具有 int 類型。請務(wù)必明白,這仍然是強類型。在動態(tài)語言中,整數(shù)的類型可在以后更改。為說明這一點,以下代碼不會成功編譯:

  1. var integer = 1;  
  2. integer = “hello”; 

C# 編譯器將報告第二行的錯誤,表明無法將字符串隱式轉(zhuǎn)換為 int。在上述查詢示例中,我們現(xiàn)在可以編寫完整的賦值,如下所示:

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

局部變量的類型最終成為 IEnumerable<?>,其中“?”是無法編寫的類型的名稱(因為它是匿名的)。

Linq隱式類型化局部變量只是:方法內(nèi)部的局部變量。它們無法超出方法、屬性、索引器或其他塊的邊界,因為該類型無法顯式聲明,而且“var”對于字段或參數(shù)類型而言是非法的。

事實證明,Linq隱式類型化局部變量在查詢的環(huán)境之外非常便利。例如,它有助于簡化復雜的通用實例化:

  1. var customerListLookup = new Dictionary<string, List<Customer>>();  

現(xiàn)在我們的查詢?nèi)〉昧肆己眠M展;我們已經(jīng)接近理想的語法,而且我們是用通用語言功能來達成的。有趣的是,我們發(fā)現(xiàn),隨著越來越多的人使用過此語法,經(jīng)常會出現(xiàn)允許投影超越方法邊界的需求。如我們以前所看到的,這是可能的,只要從 Select 內(nèi)部調(diào)用對象的構(gòu)造函數(shù)來構(gòu)建對象即可。

【編輯推薦】

  1. LINQ匿名類型分析
  2. LINQ Where子句介紹
  3. LINQ使用Where擴展方法
  4. 介紹LINQ一些強大功能
  5. Linq使用Select淺談
責任編輯:佚名 來源: 騰訊科技
相關(guān)推薦

2009-09-17 13:05:38

Linq局部變量類型

2009-08-26 15:39:08

C#隱式類型局部變量

2010-01-20 10:27:07

VB.NET隱式類型局

2009-08-27 10:08:36

C#隱含類型局部變量

2009-08-14 11:34:26

Mono C#編譯器

2009-08-26 16:37:07

C#迭代器局部變量

2010-01-21 10:57:12

VB.NET局部變量類

2018-05-14 09:15:24

Python變量函數(shù)

2010-01-05 14:04:53

.NET Framew

2009-10-12 14:13:00

VB.NET使用局部變

2009-12-15 10:48:54

Ruby局部變量

2020-11-11 21:26:48

函數(shù)變量

2024-05-29 08:49:22

Python全局變量局部變量

2015-01-07 14:41:32

Android全局變量局部變量

2021-09-28 07:12:09

函數(shù)內(nèi)存

2010-03-15 09:32:56

Python函數(shù)

2017-02-08 12:28:37

Android變量總結(jié)

2009-09-22 17:21:24

線程局部變量

2023-09-24 23:40:54

Python變量

2010-10-14 09:34:34

JVM局部變量
點贊
收藏

51CTO技術(shù)棧公眾號