C# 值類型和引用類型的區(qū)別

C#里把數(shù)據(jù)類型分為兩大類,值類型和引用類型

值類型

值類型就是包含實(shí)際數(shù)據(jù)的量,當(dāng)定義一個(gè)值類型的變量時(shí),C#會根據(jù)聲明的類型,以棧的方式分配存儲區(qū)給這個(gè)變量,變量的讀寫操作就直接在這塊區(qū)域進(jìn)行
值類型包括 :基本數(shù)據(jù)類型(int double 等),結(jié)構(gòu),枚舉

引用類型

一個(gè)引用類型的變量,不存儲他們所代表的真實(shí)數(shù)據(jù),而是存儲真實(shí)數(shù)據(jù)的引用。引用類型分兩步創(chuàng)建,1,首先在棧上創(chuàng)建引用變量,然后在堆上創(chuàng)建對象本身,再把這個(gè)內(nèi)存的句柄(內(nèi)存的地址)賦給引用變量
引用類型包括:接口,數(shù)組,Object類型,類,委托,字符串,Null類型

總結(jié)

1.值類型存儲在內(nèi)存的棧中,引用類型存儲在內(nèi)存的堆中
2.值類型存取速度快,引用類型存取速度慢
3.值類型表示實(shí)際的數(shù)據(jù),引用類型表示指向內(nèi)存堆中的指針或者引用
4.值類型繼承自System.ValueType,引用類型繼承自System.Object
5.棧的內(nèi)存分配自動釋放;而堆在C#中需要GC釋放

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • C#里把數(shù)據(jù)類型分為兩大類,值類型和引用類型 值類型 值類型就是包含實(shí)際數(shù)據(jù)的量,當(dāng)定義一個(gè)值類型的變量時(shí),C#會...
    串串香閱讀 1,506評論 0 0
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,803評論 11 349
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,242評論 8 265
  • 先講一段自己的經(jīng)歷。 我在學(xué)校念高一的時(shí)候,學(xué)校舉辦“班級籃球賽”。打的是循環(huán)賽,每兩個(gè)班級之間都必須打一場。那時(shí)...
    曾格格閱讀 668評論 6 8
  • 生活中我們總會遇到這樣的抱怨:“你都xx了,怎么還是不能xx”,生活中,很多人開始都會認(rèn)為:付出就會有收獲,努力終...
    巽迎論道閱讀 1,787評論 0 1

友情鏈接更多精彩內(nèi)容