《C#类设计手册》读书随笔(2)
Programmer To Programer 丛书
C# Class Design Handbook
Richard Conway, Teun Duynstee等著
清华大学出版社
Equals() .NET定义了两种形式的等价:引用等价,值等价
默认情况下,System.Object.Equals() 测试引用等价,但可以Override使其测试值等价。
System.Diagnostics中的StackFrame和StackTrace访问栈框架和栈跟踪。
方法类型:实例方法和静态方法。
ref 按引用传递,方法声明和调用同时使用ref关键字。
输出参数,与ref相似 out也是按引用传递
params 关键字 参数数组必须是方法声明中的最后一个参数,大量的字符串操作应使用
System.Text.StringBuilder
Try ... Catch ... Finally
属性和运算符
JIT编译器可以使属性的访问比字段的访问更快
属性是快速访问对象状态的一种技术。
静态属性
索引器
容器类,父子关系中的父,一对多关系
使用ArrayList代替数组增强功能
“运算符” 特殊的方法
构造函数和对象生命周期
销毁对象
把对象引用设置为null,并注意不再有对对象的其他引用,就可以显示销毁对象。
应用程序中的大量析构函数会对性能有负面的影响,处理对象销毁,首选方式利用
IDisposable接口,实现Dispose方法,以Finalize析构函数方法来执行,但不会中断垃圾回收
过程。
私有构造函数
静态构造函数
IClonable Clone 深拷贝 MemberWiseColone 浅拷贝
串行化和并行化
将对象串行化保存下来,这种技术广泛应用于恢复应用程序的状态,定期获取屏幕快照,保存对象等。
.NET Framework提供了丰富的XML串行化模型
xsd.exe 推断XML模式,XML架构/数据类型支持实用工具