2009-06-4
今天我还是在看书(一本可以说是基础知识而我并不真正基础的书),话就不重谈了。看书是刻在脑壳里最深的话题是——
一、枚举(System.Enum),对我来说平时经常用,可以说是那些编程书介绍的基础话题(必讲的),但我却没打牢这个基础,我相信很多“写手“一样吧?你了解的够深了吗?
枚举隐式的派生自System.Enum,基类定义了许多用来装换和查询给定枚举的方法,且都是静态方法,部分如下:
| 成员 | 作用 |
| Format() | 根据指定的格式将指定的枚举类型的值转换或和它等价的字符串表示 |
| GetName()/GetNames() | 在指定的、具有指定值的枚举中获取常量名称(或一个包含全部名称的数组) |
| GetValues() | 在指定枚举中获取常量值的数组(获取指定枚举中所有值并添加到数组中,该方法返回一个Array类型的实例) |
| IsDefined() | 返回一个值指示指定值的常量是否存在于指定的枚举中 |
| Parse() | 将一个或多个枚举常量的名称或数值的字符串表示转换成一个等价的枚举对象 |
| GetUnderlyingType | 返回指定枚举的基础类型 |
| Equals | 确定指定的System.Object实例是否是相等的实例 |
| ReferenceEquals | 确定指定的System.Object实例是否是相同的实例 |
| ToObject | 返回一个指定枚举类型的实例,设置为指定的类型值 |
二、最重要的类:System.Object
在.NET中,每一个类型最终都继承的一个公共基类:System.Object.下表显示了每个常用的实例级别的方法所提供的功能:
| Object类的实例方法 | 格式 |
| Equals() | 默认情况下,这个方法仅当被比较的项是内存中的同一个项时才返回true。因此,Equals()用来比较对象的引用,而不是对象的状态。典型情况下,这个方法重写为仅当被比较的对象拥有相同的内部状态值时返回true(基于值的语义)注意,如果重写了Equals(),也应该重写GetHashCode() |
| GetHashCode() | 这个方法返回一个能够标识内存中指定对象的整数(散列码)。 如果你打算将自定义的类型包含进System.Collections.Hashtable类型中强烈建议你重写这个成员的默认实现 |
| GetType() | 这个方法返回一个全面描述当前项细节的System.Type对象。简而言之,这是一个对所有对象都可用的运行时类型信息方法 |
| ToString() | 这个方法以namespace.typename的格式(也就是完全限定名)返回一个给定对象的字符串表示。如果该类型不是定义在一个命名空间中,只返回一个typename.该方法也可以被子类重写,返回表示对象内部状态的”名称/值”对的标记化字符串,而不是对象的完全限定名 |
| Finalize() | 暂时可以将这个受保护的方法(在重写时)理解为,当一个对象被从堆删除的时候由.NET运行库调用 |
| MemberwiseClone() | 这个受保护的方法返回一个新的对象,它是当前对象的逐个成员的副本。因此,如果你的对象包含到其他对象的引用,那么到这些类型的引用将被复制(也就是它实现了浅复制),如果对象包含其他值类型,得到的是值副本。 |
浙公网安备 33010602011771号