首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
软件编程
C#教程
正文
c# 引用类型和值类型
所属分类:
软件编程
/
C#教程
阅读数: 113
收藏 0
赞 0
分享
CLR支持两种类型:引用类型和值类型。
引用类型总是从托管堆上分配的。
c#中的New操作符返回对象的内存地址。
引用对象的注意点:
1、内存从托管堆中分配
2、堆上分配对象,有一些额外的操作,影响一些性能的
3、从托管堆中分配一个对象时,可能强制执行一次垃圾回收。
CLR中的值类型是轻量级的。不需要提领一个指针,不需要垃圾回收,可以减少垃圾回收的次数。
在CLR中一般称为“类”的都是引用类型,所有的值类型都称为结构或者枚举。
所有的结构都是抽象类ValueType的直接派生类。ValueType是直接从Object派生的。
所有的枚举都是从Enum抽象类中派生的,Enum又是从ValueType派生的。
一个值类型可以实现一个或者多个接口,但是不能继承基类。所有的值类型都是隐式密封的。
c#中用struct声明结构,class声明类。
值类型应满足:
1、类型具有基元类型
2、类型不需要从其他任何类型继承
3、不会作为基类
4、类型的大小不要超过16k
值类型和引用类型的不同点:
1、不能将值类型作为基类型
2、引用类型变量包含的是堆上的一个对象地址。值类型是值对象本身。
3、值类型赋值的时候会执行一次逐字段的复制,引用类型变量赋值的时候,只复制内存地址。
4、引用类型的多个变量可能引用堆中的同一个对象,值类型是自成一体的,互不影响的。
更多精彩内容
其他人还在看
C# SendInput 模拟鼠标操作的实现方法
C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#中 paint()与Onpaint()的区别
paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
评论 0
收藏 0
赞 0
分享
c#中GetType()与Typeof()的区别
c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
将字符串转换成System.Drawing.Color类型的方法
将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C# 抓取网页内容的方法
C# 抓取网页内容的方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
基于C#后台调用跨域MVC服务及带Cookie验证的实现
本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
评论 0
收藏 0
赞 0
分享
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
评论 0
收藏 0
赞 0
分享
Winform跨线程操作的简单方法
线程间操作无效:从不是创建控件“label1”的线程访问它
评论 0
收藏 0
赞 0
分享
C# WINFORM 强制让窗体获得焦点的方法代码
C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#中方括号[]的语法及作用介绍
C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
朋友圈被一条人贩消息刷屏:竟然是营销?
打工妹网购6000多元丰胸产品 无效要求退款时又被骗10万元
女子注册相亲网站收到短信 点击链接后6万块钱不翼而飞
巴西世界杯复盘:七大移动营销案例图文解析
网赚感悟:网站为什么不赚钱?网赚没你想的那么简单
淘宝评级规则详解
站长故事
更多
小米、华为互喷的背后:互相吃翔的GDP!
站长故事 新站两个月权重上升到3的经验分享
某个人站长怎么用交友网站年赚80万的
直击苹果发布会:苹果iWatch能否能撑起一个市场?
2013 敢问网站建设的路究竟在何方
八零后站长们:我们都是“囧”的一代