博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年11月29日

摘要: 深入理解值类型:值类型的内存布局更简单,但是它引入一些限制和装箱,装箱是一个代价高昂的过程。用值类型的主要原因是其内存密度高而且开销少。下面还是以简单的Point2D来讨论:public struct Point2D{public int X;public int Y;}Point2D实例以X=5, Y=7初始化的内存布局就像下图一样,没有额外的开销:少数罕见的情况下,需要自定义值类型的内存布局,一个例子是为了达到互操作的目的,当值类型的实例原样传到非托管代码时。可以通过两个属性来做这种自定义,StructLayout 和 FieldOffset。StructLayout可以用来指定对象的字段 阅读全文

posted @ 2012-11-29 17:23 淡如水wp 阅读(717) 评论(0) 推荐(0) 编辑