首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
软件编程
C#教程
正文
c# 引用类型和值类型
所属分类:
软件编程
/
C#教程
阅读数: 163
收藏 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# 大小写转换(金额)实例代码
C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C# WinForm中Panel实现用鼠标操作滚动条的实例方法
由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
评论 0
收藏 0
赞 0
分享
C#访问应用程序配置文件的方法
C#访问应用程序配置文件的方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#读写文件的方法汇总
C#读写文件的方法汇总,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C#计算代码执行时间的方法
在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
评论 0
收藏 0
赞 0
分享
C# 动画窗体(AnimateWindow)的小例子
C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
C# zxing二维码写入的实例代码
C# zxing二维码写入的实例代码,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
c#判断输入的是不是数字的小例子
c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
c# 深拷贝与浅拷贝的区别分析及实例
浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
评论 0
收藏 0
赞 0
分享
C#利用com操作excel释放进程的解决方法
最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
淘宝客运营经验:如何提高店铺知名度活跃度
主观臆断,百度联盟审核的条件
一个既能省钱又能赚钱的公众号 你要错过么
网站如何靠SEO盈利?先把网站包装成专卖店吧
六一儿童节微营销秘籍 互动吸粉6大招
草根站长靠什么赚钱?什么样的人能成为赚钱的草根站长?
站长故事
更多
木屋烧烤创始人自述:屌丝的逆袭开餐饮店 连锁餐饮成功的五个因素
快播之死:中国互联网的政策红利期已结束
我认识的互联网活化石金山劳模雷军
站长从菜鸟到资深必经过程
精品内容永不过时,个人站长应自我审视
做好网站维护 持续吸引用户浏览