永发信息网

c#中引用类型

答案:5  悬赏:20  手机版
解决时间 2021-05-05 13:26
什么是c#中的应用类型?类为什么是一种引用类型?
最佳答案

所有的类型的 父类都是 OBJECT


值类型 :整数 小数 布尔 结构 枚举 字符 等等


引用类型 :类类型 数组 集合 字符串 接口 委托事件等等


在C#中所有的类型继承于System.Object根类型,这也就意味着就代码层面来讲,在C#中所有的类型都是Class,,即一切都是Class类型


那么值类型就是: System.Int16,System.Int32,System.Boolean... 等等


希望对您有帮助


谢谢


全部回答

首先,C#中的数据类型按存储方式来分可划分为:值类型和引用型。值类型存储在堆栈中,引用型存储在托管堆中。windows中,32位处理器上的每个进程都有4GB的虚拟内存,而这些堆栈,托管堆就存在于这4GB的虚拟内存中。比如int就是值类型,存储于堆栈中,而且存储的就是其值。Person obj=new Person();obj是值类型,它保存的是对存储于托管堆中Person实例的引用(就是托管堆中Person实例的地址)。引用类型是一种更为复杂的类型,也是实现面向对象所必须的类型。至于为什么class是一种引用类型,这是在设计C#语言的时候就定义了的。

C# 应用程序类型包括 Windows 控制台应用程序、Windows 窗体应用程序、ASP.NET Web 应用程序、ASP.NET Web 服务应用程序、智能设备应用程序、ActiveX 应用程序以及安装和部署应用程序。

值类型 引用类型
内存分配地点 分配在栈中 分配在堆中
效率 效率高,不需要地址转换 效率低,需要进行地址转换
内存回收 使用完后,立即回收 使用完后,不是立即回收,等待GC回收
赋值操作 进行复制,创建一个同值新对象 只是对原有对象的引用
函数参数与返回值 是对象的复制 是原有对象的引用,并不产生新的对象
类型扩展 不易扩展 容易扩展,方便与类型扩展

类: 符合 引用类型 标准!

鄙视楼上广告……

说这个问题你要先知道声明一个类或者变量的时候 堆和栈是则么工作的

去查这个问题吧你 看完这个你就明白了 并且大彻大悟的明白

类的声明变量在栈中,new关键字是在堆区申请空间。然后类的变量指向堆中的空间。

如果说为什么,其实就是微软就是这么设计的。

C#中除了基本类型和结构体外。其他的(好像就剩类了)都是引用类型。

引用类型向C 中的指针,但与指针不同有的书好像叫做句柄。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ三国关于装备的问题
安眠药多少一瓶吖
电影<<2012>>郑州奥斯卡票价多少?
跪求、会计的术语的解释!
我到底该怎么办(脸部)
变速箱顿挫是什么意思,变速箱油三速和六速是
WOW一区铜龙军团的女圣骑士可以换到萨满或牧
怀孕三十八周加四天,肚子频繁紧又硬,下身会
现在还有没有大红袍泥啊?
德圣中西医医院在什么地方啊,我要过去处理事
患咽喉癌存活寿命有多长?
关于秋景的诗句,形容秋色美景的诗句
怡萱咖啡休闲会所在哪里啊,我有事要去这个地
好事来的前两天下腹越来越疼经量大!血呈暗黑
电脑由哪些部分组成
推荐资讯
什么办法有助于长高?
50级徽章发什么颜色的光
周杰伦09专辑什么时候发行
如何让自己不再哭泣
读书观其大意 行善不为人知 是诗句还是名句?
有爱墙图标的朋友,赠送1颗图标给我
怎样用手机下受机qq?
如果当初柯南来侦探死亡笔记的真相,柯南会找
广州市应元路附近有没有修PSP的JS
推荐几部电视剧!
中国农业银行彭泽县支行营业部地址在哪,我要
元素是魔爆流还是华丽流刷图厉害
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?