最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

值類型和引用類型的區(qū)別深入理解

 更新時(shí)間:2012年12月21日 08:59:17   作者:  
值類型通常被分配在棧上,它的變量直接包含變量的實(shí)例,使用效率比較高;引用類型分配在托管堆上,引用類型的變量通常包含一個(gè)指向?qū)嵗闹羔?,變量通過該指針來引用實(shí)例,需要的朋友可以了解下
區(qū)別
1、值類型通常被分配在棧上,它的變量直接包含變量的實(shí)例,使用效率比較高。
2、引用類型分配在托管堆上,引用類型的變量通常包含一個(gè)指向?qū)嵗闹羔槪兞客ㄟ^該指針來引用實(shí)例。
3、值類型繼承自ValueType(注意:而System.ValueType又繼承自System.Object);而引用類型繼承自System.Object。
4、值類型變量包含其實(shí)例數(shù)據(jù),每個(gè)變量保存了其本身的數(shù)據(jù)拷貝(副本),因此在默認(rèn)情況下,值類型的參數(shù)傳遞不會(huì)影響參數(shù)本身;而引用類型變量保存了其數(shù)據(jù)的引用地址,因此以引用方式進(jìn)行參數(shù)傳遞時(shí)會(huì)影響到參數(shù)本身,因?yàn)閮蓚€(gè)變量會(huì)引用了內(nèi)存中的同一塊地址。
5、值類型有兩種表示:裝箱與拆箱;引用類型只有裝箱一種形式。我會(huì)在下節(jié)以專門的篇幅來深入討論這個(gè)話題。
6、典型的值類型為:struct,enum以及大量的內(nèi)置值類型;而能稱為類的都可以說是引用類型。
7、值類型的內(nèi)存不由GC(垃圾回收,Gabage Collection)控制,作用域結(jié)束時(shí),值類型會(huì)自行釋放,減少了托管堆的壓力,因此具有性能上的優(yōu)勢(shì)。例如,通常struct比class更高效;而引用類型的內(nèi)存回收,由GC來完成,微軟甚至建議用戶最好不要自行釋放內(nèi)存。
8、值類型是密封的(sealed),因此值類型不能作為其他任何類型的基類,但是可以單繼承或者多繼承接口;而引用類型一般都有繼承性。
9、值類型不具有多態(tài)性;而引用類型有多態(tài)性。
10、值類型變量不可為null值,值類型都會(huì)自行初始化為0值;而引用類型變量默認(rèn)情況下,創(chuàng)建為null值,表示沒有指向任何托管堆的引用地址。對(duì)值為null的引用類型的任何操作,都會(huì)拋出NullReferenceException異常。
11、值類型有兩種狀態(tài):裝箱和未裝箱,運(yùn)行庫提供了所有值類型的已裝箱形式;而引用類型通常只有一種形式:裝箱。

相關(guān)文章

  • .NET?Core?實(shí)現(xiàn)一個(gè)自定義日志記錄器

    .NET?Core?實(shí)現(xiàn)一個(gè)自定義日志記錄器

    在應(yīng)用程序中,日志記錄是一個(gè)至關(guān)重要的功能,不僅有助于調(diào)試和監(jiān)控應(yīng)用程序,還能幫助我們了解應(yīng)用程序的運(yùn)行狀態(tài),所以本文就將使用.NET?Core?實(shí)現(xiàn)一個(gè)自定義日志記錄器,需要的可以參考下
    2024-12-12
  • ASP.NET?Core?MVC中使用Tag?Helper組件

    ASP.NET?Core?MVC中使用Tag?Helper組件

    這篇文章介紹了ASP.NET?Core?MVC中使用Tag?Helper組件的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • 在Asp.net core項(xiàng)目中使用WebSocket

    在Asp.net core項(xiàng)目中使用WebSocket

    這篇文章介紹了在Asp.net core項(xiàng)目中使用WebSocket的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • .NET+PostgreSQL實(shí)踐與避坑指南(推薦)

    .NET+PostgreSQL實(shí)踐與避坑指南(推薦)

    這篇文章主要介紹了.NET+PostgreSQL實(shí)踐與避坑指南,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • .net的socket異步通訊示例分享

    .net的socket異步通訊示例分享

    這篇文章主要介紹了.net的socket異步通訊示例,操作在下面,需要的朋友可以參考下
    2014-03-03
  • 解析微信支付的實(shí)現(xiàn)方法(.NET版)

    解析微信支付的實(shí)現(xiàn)方法(.NET版)

    由于微信的廣泛利用,基于微信開發(fā)的一系列也應(yīng)運(yùn)而生,這篇文章主要介紹了解析微信支付的實(shí)現(xiàn)方法(.NET版),有興趣的可以了解一下。
    2016-11-11
  • 部署.NET6項(xiàng)目到IIS

    部署.NET6項(xiàng)目到IIS

    這篇文章介紹了部署.NET6項(xiàng)目到IIS的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • ASP.NET生成Google網(wǎng)站地圖的代碼

    ASP.NET生成Google網(wǎng)站地圖的代碼

    生成google網(wǎng)站地圖的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2009-08-08
  • ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之兩重要類代碼

    ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之兩重要類代碼

    要進(jìn)行“網(wǎng)絡(luò)硬盤”功能設(shè)計(jì),首先要熟悉.NET中處理文件和文件夾的操作。File類和Directory類是其中最主要的兩個(gè)類。了解它們將對(duì)后面功能的實(shí)現(xiàn)提供很大的便利
    2012-10-10
  • asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼

    asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼

    這篇文章介紹了asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼,有需要的朋友可以參考一下
    2013-09-09

最新評(píng)論

伊金霍洛旗| 诏安县| 永昌县| 左云县| 洮南市| 平阴县| 龙门县| 龙江县| 菏泽市| 和田县| 涞源县| 勐海县| 平顺县| 沽源县| 高淳县| 连江县| 监利县| 紫阳县| 黔南| 合水县| 休宁县| 泗阳县| 绥化市| 阿拉善盟| 崇文区| 鸡泽县| 黄冈市| 天台县| 贺兰县| 集安市| 南漳县| 洛隆县| 内江市| 弥勒县| 股票| 阿坝| 都昌县| 凤冈县| 安龙县| 来凤县| 密云县|