c-sharp研发应避免的几个小滥用_c#应用
2008-02-23 05:43:17来源:互联网 阅读 ()
一 String和StringBuilder
少量的字符串操作不宜采用StringBuilder。
由于string是不可变得对象,对于string的叠加,每次操作都会生成一个新的string对象。所以针对大量string的操作时,我们会采用StringBuilde。但似乎很多人都知道这一点,所以只要字符串相加,不管三七二一都用StringBuilder。其实这是个误区,在这里要注意"大量"一词,少量的字符串操作用StringBuilder反而得不偿失。
比如下面的两种写法:
string sql = "insert into table (,,,)";
sql = " values ()";和
StringBuilder sb = new StringBuilder();
sb.Append("insert into table (,,,)");
sb.Append(" values ()");
string s = sb.ToString();宜采取第一种写法。因为只有两个字符串的相加,谈不上大量。假如用StringBuilder,最后还需要转换成string,结果性能反而差一些。
二 慎用异常
由于程式抛出一个异常,就会创建一个异常对象,然后应用程式会在Catch块中捕获该异常,造成性能影响很大。
比如:
int OrderID;
try
{
OrderID = Convert.ToInt32(this.txtOrderID.Text);
}
catch(Exception e)
{
OrderID = .
}
这样的代码很不合适,造成的性能开销很大。应该在客户端写js代码先去验证txtOrderID是否符合需要。
三 关于Session, Request
Session:
很多人喜欢用Session来保存持久对象的值。 但是当您的程式部署在多台服务器上做负载均衡时,可能会得不到Session保存的变量的值。 另外,由于Session是服务器端的内建对象,每开启一个Session对象,都在服务器上占用一些资源。
Request:
在页面间传值取值时,看到很多人都这么写代码:
string CustomerName = this.Request["txtCustomerName"].ToString();
其实后面的ToSTring()多此一举。this.Request["...."]本来就是string类型的,不必再去ToString()一下。
今天就写那么多吧,要更有其他问题,再补充。
http://www.cnblogs.com/Ring1981/archive/2006/08/04/436612.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 用split()方法提取字符_c#应用
下一篇: 在linux中使用c#_c#应用
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash