Net复习笔记:第五部分:性能
- 尽量使用Dispose代替Finalize
- 合理选择垃圾回收器,工作站GC和服务期GC
- 适当的使用对象的弱类型(WearkReference类用于表示弱类型)
弱类型:(weakReference)通过Target属性来表示要跟踪的对象
public class clA
{
public clA()
{
}
public string strb
{
get;
set;
}
public string str
{
get;
set;
}
}
protected void Page_Load(object sender, EventArgs e)
{
clA cla = new clA();
WeakReference wr = new WeakReference(cla);
wr = null;
if (wr.IsAlive)
{
cla = wr.Target as clA;
}
else
{
cla = new clA();
}
}
- 尽量使用Using来释放资源
- 使用泛型集合来代替非泛型集合
- 在集合初始化的时候最好为对象指定大小
- 特定类型Array的性能优于ArrayList
- 字符串驻留机制
- 合理使用string 和stringbuilder在字符串连接较少的情况下用string当字符串较大的情况下 用stringbuilder
- 尽量在子类中重写tostring
- 字符串判断尽量使用string.Compare而不使用==
- 字符串判空尽量使用length
- 用is来实现类型判断,用as来实现安全的类型转化
- 尽量避免拆箱和装箱
- 尽量使用一维零基数组