.Net FrameWork
文章平均质量分 78
吟风
这是一个拼爹的年代
展开
-
栈和托管堆.值类型和引用类型.强制类型转换.装箱和拆箱[C#]
一、栈和托管堆 通用类型系统(CTS)区分两种基本类型:值类型和引用类型。它们之间的根本区别在于它们在内存中的存储方式。.NET使用两种不同的物理内存块来存储数据—栈和托管堆。如下图所示: 值类型总是在内存中占用一个预定义的字节数(例如,int类型占4个字节,而string类型占用的字节数会根据字符串的长度不同而不同),当声明一个值类型变量时,会在栈中分配适当大小的内存(除了引用类型的值转载 2008-08-07 10:50:00 · 566 阅读 · 0 评论 -
关于可空类型Nullable的一些学习
<br />最近的项目中单体测试时遇到了关于可空类型的一些疑惑,具体问题是这样的:<br />在一个方法体内部有一些对可空类型的赋值操作,当对这个方法进行单体测试时,有时仅仅进行非空值的赋值测试,即可是覆盖率达到100%,但有时却必须进行非空值和空值的测试之后才能使覆盖率达到100%。到底为什么会出现这个问题呢?是不是编译器自动给一些方法加上了一些if等的条件分歧操作呢?<br /> <br />让我们来看个简单的例子吧。<br /> <br />在这里有两个方法,分别接受decimal的非空和可空版本来对原创 2010-11-12 12:07:00 · 1155 阅读 · 0 评论