Linq中怎么實現(xiàn)隱式類型化局部變量

本篇文章為大家展示了Linq中怎么實現(xiàn)隱式類型化局部變量,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元紹興做網(wǎng)站,已為上家服務(wù),為紹興各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

Linq隱式類型化局部變量

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

var integer = 1;

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

var integer = 1;  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)境之外非常便利。例如,它有助于簡化復(fù)雜的通用實例化:

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

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

上述內(nèi)容就是Linq中怎么實現(xiàn)隱式類型化局部變量,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱:Linq中怎么實現(xiàn)隱式類型化局部變量
路徑分享:http://bm7419.com/article4/jdshoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化小程序開發(fā)、域名注冊、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司