标签:结构体 c# ref let type 反射 程序 private 回收
C# 数组是引用类型,那么在内存中是如何存储的呢?
在VS中调试C#程序,如何查看内存、寄存器、反汇编 在这篇文章里看到了如何在VS 中查看内存
先断点打在数组创建后语句那里,点debug->Windows->Memory, 选一个随便memory
在immediate window里 输入 &变量名 arr,获取arr的内存地址。
&arr
0x009becd8 ----->在堆栈中引用地址
*&arr: 0x02d75cb4 ----->在托管堆中空间的起始地址
经过这几天的快餐知识学习,知道了堆栈中是由高向低填充。托管堆中好像相反,这句话不确定,因为垃圾回收了一部分,说是把那些有引用的对象都压缩到一起了。
看内存哈~ c8 3b b8 72 09 什么东西I don‘t know, if you know, let me know.
INT 32, 普通值类型都是结构体。
还有一个招,最近才学的,VS里面自动生成构造函数,输入ctor,然后点 ctrl+R+E
还有一个招,自动生成get,set。 private int _name, 然后点 Tab
string和object是唯一预定义的两个引用类型。
16 在内存中存储 00 00 00 10
15 在内存中存储 00 00 00 0F
突然想反射一下 arr[0].GetType() int32表示的范围是
正负2的31次方的整数。难道是有一位表示符号位吗?我猜的。
http://blog.csdn.net/zxsydyq/article/details/9125641 c#中int16 int32 int64区别 long不是真的long,.NET Framework 类型是int64;short不是真的短,.NET Framework 类型是int16
标签:结构体 c# ref let type 反射 程序 private 回收
原文地址:http://www.cnblogs.com/jin-wen-xin/p/7567513.html