摘要: 自从开始系统学习CLR via C#以来,看到CLR的什么功能总想深入了解内部是如何实现的。研究枚举时也不例外。首先看一下枚举的庐山真面目:定义一个如下的枚举:public enum Colors:ushort{ Red, Blue, Green}注意:此处的:ushort并不是描述一个继承关系。它是用来描述该枚举所采用的基础类型为ushort. 让我们再来看一下编译器生成的代码:其实经过编译器处理之后,这个枚举变成了一个继承自System.Enum的类。我们定义的每一个枚举元素变成了这个类中的一个公有,静态的常量。而它们的类型则是之前通过:ushor... 阅读全文
posted @ 2013-01-18 17:23 self.refactoring 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 字符串这个东西我想所有人从接触程序开始应该就开始了解。但是在CLR中,仍然有一些东西我了解得并不清楚。 字符串的留用 我们经常在代码中定义一些常量字符串,有时候在多个地方定义的常量字符串是一样的。或者在我们的程序中定义了很多的string对象,这些对象里保存的字符串值都是一样的。 在CLR中String对象是不可变的,那么如果内存中有大量的值相同的String对象,是对内存的一种浪费。 其... 阅读全文
posted @ 2013-01-18 11:00 self.refactoring 阅读(532) 评论(0) 推荐(0) 编辑