欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#中var和dynamic之間的區(qū)別有哪些

小編給大家分享一下C#中var和dynamic之間的區(qū)別有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出馬尾免費(fèi)做網(wǎng)站回饋大家。

C# var關(guān)鍵字

var 是3.5新出的一個(gè)定義變量的類型:隱式類型;它可用來定義隱式類型的局部變量,VAR可代替任何類型。

隱式類型變量是在未明確指定數(shù)據(jù)類型的情況下聲明的變量。在隱式類型變量中,編譯器在編譯時(shí)從用于初始化變量的值自動(dòng)推導(dǎo)出變量的類型。隱式類型變量概念是在C#3.0中引入的。隱式類型變量不是為了替換普通變量聲明而設(shè)計(jì)的,它旨在處理一些特殊情況,如LINQ(語言集成查詢)。

示例:

using System; 
  
class A{ 
  
    // Main方法
    static public void Main() 
    { 
  
        // 使用var關(guān)鍵字創(chuàng)建和初始化隱式類型變量
        var a = 'f'; 
        var b = "php"; 
        var c = 30.67d; 
        var d = false; 
        var e = 54544; 
  
        // 輸出類型 
        Console.WriteLine("'a'的類型是: {0} ", a.GetType()); 
  
        Console.WriteLine("'b'的類型是: {0} ", b.GetType()); 
  
        Console.WriteLine("'c'的類型是: {0} ", c.GetType()); 
  
        Console.WriteLine("'d'的類型是: {0} ", d.GetType()); 
  
        Console.WriteLine("'e'的類型是: {0} ", e.GetType()); 
    } 
}

輸出:

'a'的類型是: System.Char 
'b'的類型是: System.String 
'c'的類型是: System.Double 
'd'的類型是: System.Boolean 
'e'的類型是: System.Int32

C# dynamic關(guān)鍵字

dynamic是4.0新出的一個(gè)定義變量的類型:動(dòng)態(tài)類型;它用于避免編譯時(shí)類型檢查。編譯器在編譯時(shí)不檢查動(dòng)態(tài)類型變量的類型,相反,編譯器在運(yùn)行時(shí)獲取類型。動(dòng)態(tài)類型變量是使用動(dòng)態(tài)關(guān)鍵字創(chuàng)建的。

示例:

using System; 
  
class A { 
  
    // Main方法
    static public void Main() 
    { 
  
        // 使用dynamic關(guān)鍵字創(chuàng)建和初始化隱式類型變量
dynamic val1 = 'a'; 
        dynamic val2 = "hello"; 
        dynamic val3 = 3234; 
        dynamic val4 = 32.55; 
        dynamic val5 = true; 
  
        // 輸出類型 
Console.WriteLine("val1的實(shí)際類型是:{0}", val1.GetType().ToString()); 
  
        Console.WriteLine("val2的實(shí)際類型是:{0}", val2.GetType().ToString()); 
  
        Console.WriteLine("val3的實(shí)際類型是:{0}", val3.GetType().ToString()); 
  
        Console.WriteLine("val4的實(shí)際類型是:{0}", val4.GetType().ToString()); 
Console.WriteLine("val5的實(shí)際類型是:{0}", val5.GetType().ToString()); 
    } 
}

輸出:

val1的實(shí)際類型是:System.Char
val2的實(shí)際類型是:System.String
val3的實(shí)際類型是:System.Int32
val4的實(shí)際類型是:System.Double
val5的實(shí)際類型是:System.Boolean

C#中關(guān)鍵字var和dynamic的區(qū)別是什么?

1、聲明的變量

關(guān)鍵字var是在C#3.0中引入的,聲明的變量是靜態(tài)類型的,變量的類型由編譯器在編譯時(shí)決定。

關(guān)鍵字dynamic是在C#4.0中引入的,聲明的變量是動(dòng)態(tài)類型的,變量的類型由編譯器在運(yùn)行時(shí)決定。

2、初始化

關(guān)鍵字var聲明的變量應(yīng)在聲明時(shí)初始化,這樣編譯器就會(huì)根據(jù)初始化的值來決定變量的類型。如果變量未初始化,則拋出錯(cuò)誤。

關(guān)鍵字dynamic聲明的變量在聲明時(shí)不需要初始化此類型的變量,因?yàn)榫幾g器在編譯時(shí)不知道變量的類型。如果變量未初始化,也不會(huì)拋出錯(cuò)誤。

3、intelliSense的支持

關(guān)鍵字var支持visual studio中的intelliSense。關(guān)鍵字dynamic不支持visual studio中的intelliSense

4、應(yīng)用

關(guān)鍵字var不能用于屬性或從函數(shù)返回值。它只能用作函數(shù)中的局部變量。

關(guān)鍵字dynamic可以用于屬性或從函數(shù)返回值。

以上是C#中var和dynamic之間的區(qū)別有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:C#中var和dynamic之間的區(qū)別有哪些
文章URL:http://www.chinadenli.net/article42/peigec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈網(wǎng)站改版標(biāo)簽優(yōu)化App設(shè)計(jì)

廣告

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

成都seo排名網(wǎng)站優(yōu)化