91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中var和dynamic之間的區別有哪些

發布時間:2020-09-09 11:32:48 來源:億速云 閱讀:193 作者:小新 欄目:編程語言

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

C# var關鍵字

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

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

示例:

using System; 
  
class A{ 
  
    // Main方法
    static public void Main() 
    { 
  
        // 使用var關鍵字創建和初始化隱式類型變量
        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關鍵字

dynamic是4.0新出的一個定義變量的類型:動態類型;它用于避免編譯時類型檢查。編譯器在編譯時不檢查動態類型變量的類型,相反,編譯器在運行時獲取類型。動態類型變量是使用動態關鍵字創建的。

示例:

using System; 
  
class A { 
  
    // Main方法
    static public void Main() 
    { 
  
        // 使用dynamic關鍵字創建和初始化隱式類型變量
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#中關鍵字var和dynamic的區別是什么?

1、聲明的變量

關鍵字var是在C#3.0中引入的,聲明的變量是靜態類型的,變量的類型由編譯器在編譯時決定。

關鍵字dynamic是在C#4.0中引入的,聲明的變量是動態類型的,變量的類型由編譯器在運行時決定。

2、初始化

關鍵字var聲明的變量應在聲明時初始化,這樣編譯器就會根據初始化的值來決定變量的類型。如果變量未初始化,則拋出錯誤。

關鍵字dynamic聲明的變量在聲明時不需要初始化此類型的變量,因為編譯器在編譯時不知道變量的類型。如果變量未初始化,也不會拋出錯誤。

3、intelliSense的支持

關鍵字var支持visual studio中的intelliSense。關鍵字dynamic不支持visual studio中的intelliSense

4、應用

關鍵字var不能用于屬性或從函數返回值。它只能用作函數中的局部變量。

關鍵字dynamic可以用于屬性或從函數返回值。

以上是C#中var和dynamic之間的區別有哪些的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 鲜城| 舟山市| 读书| 青阳县| 罗平县| 临澧县| 南漳县| 姜堰市| 西丰县| 岳普湖县| 绥德县| 北流市| 达州市| 南漳县| 娄烦县| 玉田县| 沾益县| 元朗区| 安平县| 镇巴县| 蒙阴县| 常山县| 沂南县| 五莲县| 桃源县| 新竹县| 焉耆| 维西| 定西市| 临江市| 阜阳市| 逊克县| 任丘市| 龙州县| 集贤县| 万山特区| 武冈市| 信阳市| 禄劝| 南平市|