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. 25条提高iOS App性能的技巧和诀窍

    25条提高iOS App性能的技巧和诀窍 当我们开发iOS应用时,好的性能对我们的App来说是很重要的.你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢也会伤害到你的审核. 然而,由于IO ...

  2. 提高Web页面性能的技巧

    现在动辄几兆大小的页面加载量,让性能优化成了不可避免的热门话题.WEB 应用越流畅,用户体验就会越好,继而带来更多的访问量.这也就是说,我们应该反省一下那些过度美化的 CSS3 动画和多重操作的 DO ...

  3. 提高HTML5 Canvas性能的技巧

    详细内容请点击 一:使用缓存技术实现预绘制,减少重复绘制Canvs内容 很多时候我们在Canvas上绘制与更新,总是会保留一些不变的内容,对于这些内容 应该预先绘制缓存,而不是每次刷新. 直接绘制代码 ...

  4. 提高php编程效率技巧

    提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13   php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...

  5. asp.net提高程序性能的技巧(一)

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

  6. 提高 DHTML 页面性能

    联盟电脑摘要:本文说明了某些DHTML功能对性能的重大影响,并提供了一些提高DHTML页面性能的技巧. 目录 简介 成批处理DHTML更改 使用innerText 使用DOM添加单个元素 扩展SELE ...

  7. Asp.net性能优化技巧

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

  8. 怎样提高DB2存储过程性能

    高性能的SQL过程是数据库开发人员所追求的,我将不断把学到的,或在实际开发中用到的一些提高SQL过程性能的技巧整理出来,温故而知新. 1,在只使用一条语句即可做到时避免使用多条语句 让我们从一个简单的 ...

  9. php中一些提高性能的技巧

    php中一些提高性能的技巧 tags:php性能 提高性能 php中的@ php的静态 引言:php作为一种脚本语言,本身的性能上肯定是不如c++或者java的.拥有简单易学的特性的同时,性能提升的空 ...

随机推荐

  1. sublime text3在指定浏览器上本地服务器(localhost)运行文件(php)

    昨天在使用sublime text3时,发现能在本地服务器上运行php文件,于是百度了一下有关知识, 终于成功了,今天总结一下. 首先要让sublime text3 出现侧边栏sidebar,不会的可 ...

  2. Java发布一个简单 webservice应用 并发送SOAP请求

    一.创建并发布一个简单的webservice应用 1.webservice 代码: package com.ls.demo; import javax.jws.WebMethod; import ja ...

  3. CentOS7.2静默安装oracle11g

    http://www.centoscn.com/image-text/config/2015/0528/5552.html http://www.linuxidc.com/Linux/2016-04/ ...

  4. 【19道XSS题目】不服来战!

    记得第一次接触xss这个概念是在高中,那个时候和一个好基友通过黑客X档案和黑客手册.第一次接触到了除了游戏以外的电脑知识,然后知道了,原来电脑除了玩游戏还可以搞这些,从此两人一发不可收拾的爱上了玩黑这 ...

  5. winXP/win7/win10系统关闭445端口方法全攻略

    近日有多个高校发布了关于连接校园网的电脑大面积中勒索病毒的消息,这种病毒致使许多高校毕业生的毕业论文(设计)被锁.受害机器的磁盘文件会被篡改为相应的后缀,图片.文档.视频.压缩包等各类资料都无法正常打 ...

  6. 深入理解IOC

    1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机 ...

  7. 单片机IAP学习

    1.IAP是什么--简介 IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可 ...

  8. vuex使用报错

    1.vuex简介 最近在玩vuex,不得不说它是一个很强大的工具,它的目的就是把数据统一管理起来,方便各个组件之间来回调用 2.vuex引用报错 当我们去官网看API文档的时候,会发现官网是这么应用a ...

  9. HTML head头部标签总结

    HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性.移动互联网时代,head 头部结 ...

  10. python 简单验证码 random模块

    random 模块,产生随机数: chr 将数字转成字母. ascii 数字与字符对应表 链接 import randomtemp=""for i in range(0,4): r ...