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

成都創(chuàng)新互聯(lián)專注于成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營(yíng)銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
Linq隱式類型化局部變量
還有另一種語(yǔ)言功能被稱為L(zhǎng)inq隱式類型化局部變量(或簡(jiǎn)稱為 var),它負(fù)責(zé)指示編譯器推斷局部變量的類型。例如:
- var integer = 1;
在此例中,整數(shù)具有 int 類型。請(qǐng)務(wù)必明白,這仍然是強(qiáng)類型。在動(dòng)態(tài)語(yǔ)言中,整數(shù)的類型可在以后更改。為說(shuō)明這一點(diǎn),以下代碼不會(huì)成功編譯:
- var integer = 1;
- integer = “hello”;
C# 編譯器將報(bào)告第二行的錯(cuò)誤,表明無(wú)法將字符串隱式轉(zhuǎn)換為 int。在上述查詢示例中,我們現(xiàn)在可以編寫完整的賦值,如下所示:
- var locals = customers.Where(c => c.ZipCode == 91822).Select(c => new {
FullName = c.FirstName + “ “ +c.LastName, HomeAddress = c.Address });
局部變量的類型最終成為 IEnumerable>,其中“?”是無(wú)法編寫的類型的名稱(因?yàn)樗悄涿模?/p>
Linq隱式類型化局部變量只是:方法內(nèi)部的局部變量。它們無(wú)法超出方法、屬性、索引器或其他塊的邊界,因?yàn)樵擃愋蜔o(wú)法顯式聲明,而且“var”對(duì)于字段或參數(shù)類型而言是非法的。
事實(shí)證明,Linq隱式類型化局部變量在查詢的環(huán)境之外非常便利。例如,它有助于簡(jiǎn)化復(fù)雜的通用實(shí)例化:
- var customerListLookup = new Dictionary
, List > ();
現(xiàn)在我們的查詢?nèi)〉昧肆己眠M(jìn)展;我們已經(jīng)接近理想的語(yǔ)法,而且我們是用通用語(yǔ)言功能來(lái)達(dá)成的。有趣的是,我們發(fā)現(xiàn),隨著越來(lái)越多的人使用過(guò)此語(yǔ)法,經(jīng)常會(huì)出現(xiàn)允許投影超越方法邊界的需求。如我們以前所看到的,這是可能的,只要從 Select 內(nèi)部調(diào)用對(duì)象的構(gòu)造函數(shù)來(lái)構(gòu)建對(duì)象即可。
分享題目:Linq隱式類型化局部變量
標(biāo)題路徑:http://m.5511xx.com/article/coisdoc.html


咨詢
建站咨詢
