一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#引用類型和值類型的適用場合和區別

C#引用類型和值類型的適用場合和區別

2022-03-08 14:20Mogul1 C#

今天小編就為大家分享一篇關于C#引用類型和值類型的適用場合和區別,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1.值類型

值類型包括:數值類型,結構體,bool型,用戶定義的結構體,枚舉,可空類型。

值類型的變量直接存儲數據,分配在托管棧中。變量會在創建它們的方法返回時自動釋放。

所有的值類型都是密封(seal)的,所以無法派生出新的值類型。

2.引用類型

引用類型包括:數組,用戶定義的類、接口、委托,object,字符串,null類型,類。

引用類型的變量持有的是數據的引用,數據存儲在數據堆,分配在托管堆中,變量并不會在創建它們的方法結束時釋放內存,它們所占用的內存會被CLR中的垃圾回收機制釋放。 

CLR常用簡寫詞語,CLR是公共語言運行庫(Common Language Runtime)和Java虛擬機一樣也是一個運行時環境,它負責資源管理(內存分配和垃圾收集等),并保證應用和底層操作系統之間必要的分離。

3.值類型與引用類型區別:

C#引用類型和值類型的適用場合和區別

4.適用場合:

值類型在內存管理方面具有更好的效率,并且不支持多態,適合用做存儲數據的載體;引用類型支持多態,適合用于定義應用程序的行為。

引用類型可以派生出新的類型,而值類型不能,因為所有的值類型都是密封的。

引用類型可包含null值,值類型不能(可空類型功能允許將null賦給值類型,如int a=null);

引用類型變量的賦值只復制對對象的引用,而不復制對象本身。而將一個值類型變量賦給另一個值類型變量時,將復制包含的值

5.裝箱和拆箱

1)裝箱就是將一個值類型轉換成等值的引用類型

在堆上為新生成的對象(該對象包含數據,對象本身沒有名稱)分配內存。

將堆棧上值類型變量的值拷貝到堆上的對象中。

將堆上創建的對象的地址返回給引用類型變量(從程序員角度看,這個變量的名稱就好像堆上對象的名稱一樣)。

2)拆箱就是將一個引用類型轉換成等值的值類型

將引用類型變量堆上的值拷貝到棧上面。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/Mogul1/article/details/81191566

延伸 · 閱讀

精彩推薦
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
主站蜘蛛池模板: 久久精品亚洲牛牛影视 | 羞羞一区二区三区四区片 | 毛片群 | 色久激情| 青青青视频免费观看 | 公妇乱淫| 国产男女爱视频在线观看 | 91香蕉视频在线观看 | 我被男人下药添得好爽 | 魔兽官方小说 | 午夜精品久久久久久久99蜜桃i | 亚洲卡一卡2卡三卡4麻豆 | 四虎最新紧急更新地址 | 青青草精品在线观看 | 97精品国产自在现线免费 | 日韩精品欧美 | 狐媚小说 | 国产一区二区在线观看视频 | 特级非洲黑人一级毛片 | 日韩欧美一卡二区 | 国产 国语对白 露脸正在播放 | caoporm国产精品视频免费 | 美女伊人网 | 日本另类z0zx高清 | 四虎成人免费视频 | xxx中国bbbwww| 国模孕妇季玥全部人体写真 | 五月一区二区久久综合天堂 | 涩涩屋视频在线观看 | 电车痴汉中文字幕 | 被老外玩爽的中国美女视频 | 黑人巨大精品战中国美女 | 2021最新国产成人精品免费 | 日韩精品一区二区三区中文在线 | 国产成人一级 | 97自拍视频在线观看 | 亚洲成人综合在线 | 黄瓜视频黄 | 成人久久18免费网站 | 苍井空50分钟无码 | 四虎视屏 |