2015年3月16日

装箱拆箱

摘要: 一个实例进行装箱操作时在内部发生的事情:1. 在托管堆中分配好内存。分配的内存量是值类型的各个字段需要的内存量加上托管堆的所有对象都有的两个额外成员 (类型对象指针和同步块索引 )需要的内存量。2. 值类型的字段复制到新分配的堆内存。3. 返回对象的地址。现在,这个地址是对一个对象的引用,值类型现在... 阅读全文
posted @ 2015-03-16 17:00 Stephen_潮 阅读(290) 评论(0) 推荐(0) 编辑

checked 和 unchecked 基元类型操作

摘要: 对基元类型执行的许多算术运算都可能造成溢出:Byte b = 100;b = (Byte) (b + 200); // b 现在包含 44(或者十六进制值 2C)重要提示:执行上述算术运算时,第一步要求所有操作数都扩大为 32 位值(或者 64 位值,如果任何操作数需要超过 32 位来表示的话)。所... 阅读全文
posted @ 2015-03-16 14:16 Stephen_潮 阅读(269) 评论(0) 推荐(0) 编辑

使用 C#的 is 和 as 操作符来转型

摘要: 在 C#语言中进行类型转换的另一种方式是使用 is 操作符。 is 检查一个对象是否兼容于指定的类型,并返回一个 Boolean 值: true 或 false。注意 is 操作符永远不会抛出异常,以下代码进行了演示:Object o = new Object();Boolean b1 = (o i... 阅读全文
posted @ 2015-03-16 10:17 Stephen_潮 阅读(302) 评论(0) 推荐(0) 编辑

C#类型基础(1)

摘要: 1、“运行时”要求每个类型最终都从 System.Object 类型派生。Object提供了Equals,GetHashCode,ToString,GetType公共方法,并提供MemberwiseClone、Finalize的保护方法。2、CLR 要求所有对象都用 new 操作符来创建。以下是 n... 阅读全文
posted @ 2015-03-16 10:06 Stephen_潮 阅读(227) 评论(0) 推荐(0) 编辑