1、使用StringBuilder代替使用string 连接符 "+"

说明:String类对象是不可变的(只读),一旦创建该对象,就不能修改该对象的值。

对象String对象的重新赋值,本质上是重新创建了一个String对象并将新的值赋值给该对象。

如果字符串存在较多次的拼接时候,最后使用StringBuilder类,需要引用命名空间 System.Text。

该类不是创建新的对象,而是通过Append、Insert、Remove等方法对字符串直接进行操作,最后通过

ToString方法返回操作结果。从而避免创建大量对象,造成资源浪费、性能降低。

例如:

//不要这样写

String str="bei";

str+="jing";

str+="huan";

str+="ying";

str+="ni";

//推荐这样写

StringBuilder str=new StringBuilder();

str.Append("bei");

str.Append("jing");

str.Append("huan");

str.Append("ying");

str.Append("ni");

2、用foreach 代替 for 循环

如果是可以使用foreach的时候,尽量用foreach,而不是 for。前者的效率比后者要高很多。

3、使用HashTable 代替其他字典集合类型(如 StringDictionary、NameValueCollection),存放少量数据的时候可以使用HashTable。

4、避免使用ArrayList

因为ArrayList使用的时候存在装箱、拆箱会造成性能的损失,可以用泛型来代替。

5、如果是字符进行比较的时候可以采用String.Compare,它会忽略大小写进行比较,而不要使用UpperCase、Lowercase转换后进行比较。

6、如果只是从xml对象中读取数据,可以用只读的XPathDocument代替XMLDocument,可以提高性能。

7、C#捕获异常的时候,不要使用通用的System.Exception。可以根据程序逻辑考虑可能出现的异常进行控制。

8、要避免在循环体内声明变量,如果可以的化,最好放在循环体外声明,在循环体内初始化。

9、采用using和try/finaly来做资源清理

10、不要使用异常(Exception)来控制程序的流程

因为捕获异常对性能的损耗很大,最好不要用异常去控制程序的流程。

11、使用值类型的ToString方法避免装箱操作。

因为值类型到引用类型会造成性能的损耗,所以使用值类型的ToString方法可以避免装箱造成的性能损耗。

12、避免滥用反射,反射也是比较浪费性能的操作

当使用反射来调用类型或者触发方法,或者访问一个字段或者属性是,CLR需要做很多工作:校验参数、检查权限、

所以非常耗时,因此这样的情况下要尽量避免反射的使用。

欢迎关注我的公众号,定期推送文章:原文

整理一些提高C#编程性能的技巧相关推荐

  1. 通过对虚拟磁盘进行碎片整理来提高VMware VM性能

    Have you noticed your VMware virtual machines sees like they're sluggish and slow to respond?  Here' ...

  2. 提高Python编程的效率技巧你知道哪些?收藏必备系列,阿里表哥推荐!Python高效编程技巧

    Python高效编程技巧 工作中经常要处理各种各样的数据,遇到项目赶进度的时候自己写函数容易浪费时间. Python 中有很多内置函数帮你提高工作效率! 一:在列表,字典中根据条件筛选数据 1.假设有 ...

  3. 22个提高ASP性能的技巧(1-12)(转)

    介绍 对于ASP程序来说,性能非常重要:必须在最初设计程序时就要考虑到性能,否则以后恐怕就要因为性能问题而重写代码.怎样才能使ASP程序性能达到最大呢?本文就将介绍一些提高ASP程序性能的技巧. 技巧 ...

  4. asp.net性能的技巧

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提 供了连接池 ...

  5. java性能瓶颈分析_Java性能优化技巧整理,做一个深度的程序员

    原标题:Java性能优化技巧整理,做一个深度的程序员 在我们身边是一大批的程序员,层次不一,但是放眼观,我们很容易就可以看到那些是业务型程序员,那些是有层次的程序员.注重细节,注重性能,做一个有深度的 ...

  6. 最近整理关于SQL Server2005性能优化技巧

    数据库性能优化涉及到很多方面,在数据库开发时可以通过一些基本的优化技巧提高数据库的性能: 1.原则上为创建的每个表都建立一个主键,主键唯一标识某一行记录,用于强制表的实体完整性.SQL Server ...

  7. 机器学习速成课程 | 练习 | Google Development——编程练习:提高神经网络的性能

    提高神经网络性能 学习目标:通过将特征标准化并应用各种优化算法来提高神经网络的性能 注意:本练习中介绍的优化方法并非专门针对神经网络:这些方法可有效改进大多数类型的模型. 设置 首先,我们将加载数据. ...

  8. Java性能优化技巧

    Java性能优化技巧 参考了些书籍,网络资源整理出来,适合于大多数Java应用 在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序 ...

  9. 提高机器学习模型性能的五个关键方法

    提高机器学习模型性能的五个关键方法 1. 数据预处理 2. 特征工程 3. 机器学习算法 4. 模型集成与融合 5. 数据增强 以下是各个方面的具体分析和方法: [ 说明:1.这里主要是各个关键方法的 ...

最新文章

  1. 在对话框中应用CScrollView显示图像
  2. LUOGU P4195 Spoj3105 Mod
  3. 抽屉效果_宜家靠边,好用不贵的全格收纳抽屉使用感受
  4. 小师妹学JVM之:JIT中的PrintCompilation
  5. x86已安装该产品 剑灵vcredist_MySQL Server v5.7正式版(附安装和配置数据库教程)
  6. 最长回文子串的不同解法
  7. 创造型模式——单例模式
  8. 《数据库技术原理与应用教程(第2版)》——第3章 数据管理中的数据模型 3.1 数据模型的基本概念...
  9. asp 检查黑名单_黑名单验证的突破
  10. PHP-redis中文帮助手册_set相关
  11. 韩顺平Java自学笔记 集合
  12. 详解DHT11温湿度传感器的原理及驱动程序
  13. 每次刷新页面时总会先闪一下空白再出现背景图片的解决
  14. 高数 | 两个重要极限 经典错误 什么情况下求极限可以直接带入
  15. 绘制业务流程图—入门篇
  16. python爬虫---如何爬取京东商品评论并进行数据存储
  17. twitter_关于Twitter和激进化的警告
  18. 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
  19. [etcd] 使用 Txn 一次性插入多个语句
  20. 向毕业妥协系列之机器学习笔记:监督学习-回归与分类(一)

热门文章

  1. halcon Matching-3D 3D匹配,持续更新
  2. Val编程-速度因子
  3. 在新的固态硬盘只装ubuntu16.04系统,重启后无启动项解决方案
  4. 华为服务器故障灯不开机_华为服务器日常维护及故障处理介绍V.ppt
  5. channelinactive触发后不关闭channel_go那些事儿|channel使用及其实现原理
  6. 芯明天debug assertion failed_YJLV铝芯电力电缆的基本介绍
  7. Codeforces 1188A 构造
  8. java如何实现Socket的长连接和短连接
  9. CentOS 搭建 LAMP服务器
  10. 基于Angularjs实现分页