码迷,mamicode.com
首页 > Windows程序 > 详细

图解:C#引用类型内存详细分析

时间:2017-05-05 18:29:34      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:long   images   st3   int   字节   struct   内存地址   值类型   enum   

概念明细:
栈:栈是连续的内存空间
堆:堆可以无限大,但是不保证是连续的。查找起来比较慢
值类型:在内存中占有的字节数是一定的(int,char,double,float,long,short,byte,bool,enum,struct,decimal)
引用类型:引用类型在栈中开辟一块内存,存储一个固定大小的地址。然后实际数据存储在堆中.

 引用类型:

技术分享

 

代码分析:StingBuilder sb=new StringBuilder();

  左边:在栈内存中开辟空间sb

  右边:在堆内存中开辟控件

  =:把堆内存地址存放在栈内存sb中

技术分享

Fo(sb);

技术分享

foSB.Append("test2"); 

 技术分享

foSB = new StringBuilder("test3");

 技术分享

StringBuilder foSB1 = foSB;

 技术分享

 

foSB = null;

技术分享

 运行结果为:

技术分享

 

图解:C#引用类型内存详细分析

标签:long   images   st3   int   字节   struct   内存地址   值类型   enum   

原文地址:http://www.cnblogs.com/ccmonsor/p/6814060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!