高效C#编码经验
高效C#的习惯。。。。。。。。。。。。。。。。。。。
1:Foreach比For高效,只有其30%的时间花费。
2:避免使用ArrayList,因为其装箱拆箱频繁,建议使用泛型。
3:使用HashTable替代其他字典集合类型。
4:StringBuilder代替字符串连接符“+”。
5:用String.Compare进行比较。
6:避免在循环体内声明变量,应该在循环体外声明变量,在循环体内初始化。
7:能避免使用Exception捕获异常的尽量不用。
8:使用using和try/finally来做资源清理。
9:避免滥用反射,它极其消耗资源。
10:性能上,Int32.TryPatse()优于Int32.TryPatse()优于Convert.ToInt32()。
11:==是比较两个变量的值是否相等,或者是两个引用(注意不是值是引用)是否同一内存地址。equals()比较两个对象指向的内存空间里的内容是否一样。对于string用==比较。
12:Eval("")是静态(只读)方法,与Bind("")相比性能明显下降。而对模块化列表中数据进行绑定时,用DataBinder.Eval(Container.DataItem,"")
13:读取大量数据,对返回数据不做大量处理用SqlDataReader。对返回数据做大量处理用DataSet。
14:大量执行的SQL语句,用Prepare()。
sqlCmd.Prepare();
sqlCmd.ExcuteNonQuery();
for(int i=1;i<100;i++)
{
……
sqlCmd.ExcuteNonQuery();
}
15:避免SELECT *
16:性能效率上string.IsNullOrEmpty(string)优于string==""或string==string.Empty