国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c# 引用類型和值類型

2020-01-24 03:40:43
字體:
供稿:網(wǎng)友
CLR支持兩種類型:引用類型和值類型。
引用類型總是從托管堆上分配的。

c#中的New操作符返回對象的內(nèi)存地址。

引用對象的注意點(diǎn):

1、內(nèi)存從托管堆中分配
2、堆上分配對象,有一些額外的操作,影響一些性能的
3、從托管堆中分配一個對象時,可能強(qiáng)制執(zhí)行一次垃圾回收。

CLR中的值類型是輕量級的。不需要提領(lǐng)一個指針,不需要垃圾回收,可以減少垃圾回收的次數(shù)。
在CLR中一般稱為“類”的都是引用類型,所有的值類型都稱為結(jié)構(gòu)或者枚舉。
所有的結(jié)構(gòu)都是抽象類ValueType的直接派生類。ValueType是直接從Object派生的。
所有的枚舉都是從Enum抽象類中派生的,Enum又是從ValueType派生的。

一個值類型可以實現(xiàn)一個或者多個接口,但是不能繼承基類。所有的值類型都是隱式密封的。

c#中用struct聲明結(jié)構(gòu),class聲明類。

值類型應(yīng)滿足:

1、類型具有基元類型
2、類型不需要從其他任何類型繼承
3、不會作為基類
4、類型的大小不要超過16k

值類型和引用類型的不同點(diǎn):

1、不能將值類型作為基類型
2、引用類型變量包含的是堆上的一個對象地址。值類型是值對象本身。
3、值類型賦值的時候會執(zhí)行一次逐字段的復(fù)制,引用類型變量賦值的時候,只復(fù)制內(nèi)存地址。
4、引用類型的多個變量可能引用堆中的同一個對象,值類型是自成一體的,互不影響的。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武山县| 江西省| 来宾市| 资中县| 读书| 友谊县| 罗甸县| 巩义市| 乌拉特后旗| 清流县| 云阳县| 门源| 信宜市| 江油市| 佛山市| 平陆县| 互助| 荔波县| 新巴尔虎左旗| 榆树市| 高州市| 景泰县| 临猗县| 漳州市| 崇仁县| 广安市| 沙坪坝区| 庄河市| 精河县| 南投县| 台东县| 团风县| 许昌县| 巫山县| 巢湖市| 湖口县| 满城县| 满洲里市| 广东省| 三穗县| 垫江县|