小編給大家分享一下C#中var和dynamic之間的區(qū)別有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
站在用戶的角度思考問題,與客戶深入溝通,找到嵩縣網(wǎng)站設計與嵩縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋嵩縣地區(qū)。C# var關(guān)鍵字
var 是3.5新出的一個定義變量的類型:隱式類型;它可用來定義隱式類型的局部變量,VAR可代替任何類型。
隱式類型變量是在未明確指定數(shù)據(jù)類型的情況下聲明的變量。在隱式類型變量中,編譯器在編譯時從用于初始化變量的值自動推導出變量的類型。隱式類型變量概念是在C#3.0中引入的。隱式類型變量不是為了替換普通變量聲明而設計的,它旨在處理一些特殊情況,如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新出的一個定義變量的類型:動態(tài)類型;它用于避免編譯時類型檢查。編譯器在編譯時不檢查動態(tài)類型變量的類型,相反,編譯器在運行時獲取類型。動態(tài)類型變量是使用動態(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的實際類型是:{0}", val1.GetType().ToString()); Console.WriteLine("val2的實際類型是:{0}", val2.GetType().ToString()); Console.WriteLine("val3的實際類型是:{0}", val3.GetType().ToString()); Console.WriteLine("val4的實際類型是:{0}", val4.GetType().ToString()); Console.WriteLine("val5的實際類型是:{0}", val5.GetType().ToString()); } }
輸出:
val1的實際類型是:System.Char val2的實際類型是:System.String val3的實際類型是:System.Int32 val4的實際類型是:System.Double val5的實際類型是:System.Boolean
C#中關(guān)鍵字var和dynamic的區(qū)別是什么?
1、聲明的變量
關(guān)鍵字var是在C#3.0中引入的,聲明的變量是靜態(tài)類型的,變量的類型由編譯器在編譯時決定。
關(guān)鍵字dynamic是在C#4.0中引入的,聲明的變量是動態(tài)類型的,變量的類型由編譯器在運行時決定。
2、初始化
關(guān)鍵字var聲明的變量應在聲明時初始化,這樣編譯器就會根據(jù)初始化的值來決定變量的類型。如果變量未初始化,則拋出錯誤。
關(guān)鍵字dynamic聲明的變量在聲明時不需要初始化此類型的變量,因為編譯器在編譯時不知道變量的類型。如果變量未初始化,也不會拋出錯誤。
3、intelliSense的支持
關(guān)鍵字var支持visual studio中的intelliSense。關(guān)鍵字dynamic不支持visual studio中的intelliSense
4、應用
關(guān)鍵字var不能用于屬性或從函數(shù)返回值。它只能用作函數(shù)中的局部變量。
關(guān)鍵字dynamic可以用于屬性或從函數(shù)返回值。
以上是C#中var和dynamic之間的區(qū)別有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:C#中var和dynamic之間的區(qū)別有哪些-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article2/dpjhic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、企業(yè)建站、商城網(wǎng)站、外貿(mào)網(wǎng)站建設、靜態(tài)網(wǎng)站、用戶體驗
聲明:本網(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)
猜你還喜歡下面的內(nèi)容