现在的位置: 首页 > 综合 > 正文

.NET 性能优化方法总结

2013年09月19日 ⁄ 综合 ⁄ 共 1289字 ⁄ 字号 评论关闭

网上搜索并整理的文章,感谢原文作者:)

.NET 性能优化方法总结

 

 

Ver 1.0

 

 

 

2009-1-20


目录

1. C#语言方面... 4

1.1 垃圾回收... 4

1.1.1 避免不必要的对象创建... 4

1.1.2 不要使用空析构函数 ... 4

1.1.3 实现 IDisposable 接口... 4

1.2 String 操作... 5

1.2.1 使用 StringBuilder 做字符串连接... 5

1.2.2 避免不必要的调用 ToUpper ToLower 方法... 5

1.2.3 最快的空串比较方法... 6

1.3 多线程... 6

1.3.1 线程同步... 6

1.3.2 使用 ThreadStatic 替代 NameDataSlot ... 7

1.3.3 多线程编程技巧... 7

1.4 类型系统... 8

1.4.1 避免无意义的变量初始化动作... 8

1.4.2 ValueType ReferenceType. 8

1.4.3 尽可能使用最合适的类型... 9

1.5 异常处理... 10

1.5.1 不要吃掉异常★... 10

1.5.2 不要吃掉异常信息★... 10

1.5.3 避免不必要的抛出异常... 10

1.5.4 避免不必要的重新抛出异常... 10

1.5.5 捕获指定的异常,不要使用通用的System.Exception. 10

1.5.6 要在finally里释放占用的资源... 11

1.6 反射... 11

1.6.1 反射分类... 12

1.6.2 动态创建对象... 12

1.6.3 动态方法调用... 12

1.6.4 推荐的使用原则... 12

1.7 基本代码技巧... 13

1.7.1 循环写法... 13

1.7.2 拼装字符串... 13

1.7.3 避免两次检索集合元素... 13

1.7.4 避免两次类型转换... 14

1.7.5为字符串容器声明常量,不要直接把字符封装在双引号" "里面。... 14

1.7.6 StringBuilder代替使用字符串连接符 “+”. 14

1.7.7 避免在循环体里声明变量,... 15

1.8 Hashtable. 15

1.8.1 Hashtable机理... 15

1.8.2  使用HashTale代替其他字典集合类型的情形... 16

1.9  避免使用ArrayList... 16

1.10XML对象读取数据... 17

1.11 避免使用递归调用和嵌套循环,... 17

1.12 使用适当的Caching策略来提高性能... 17

2. Ado.Net 17

2.1 应用Ado.net的一些思考原则... 18

2.2 Connection. 18

2.2.1 在方法中打开和关闭连接... 18

2.2.2 显式关闭连接... 18

2.2.3 确保连接池启用... 19

2.2.4 不要缓存连接... 19

2.3 Command. 19

2.3.1 使用ExecuteScalarExecuteNonQuery. 19

2.3.2 使用Prepare. 19

2.3.3 使用绑定变量 ... 19

2.4 DataReader 20

2.4.1 显式关闭DataReader 20

2.4.2 用索引号访问代替名称索引号访问属性... 20

2.4.3 使用类型化方法访问属性... 20

2.4.4 使用多数据集... 20

2.5 DataSet 21

2.5.1

抱歉!评论已关闭.