zoukankan
html css js c++ java
如何最大限度提高.NET的性能
1
)避免使用ArrayList。
因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定义的集合类型代替ArrayList。.net
2
.0提供了一个新的类型,叫泛型,这是一个强类型,使用泛型集合就可以避免了封箱和拆箱的发生,提高了性能。
2
)使用HashTale代替其他字典集合类型(如StringDictionary,NameValueCollection,HybridCollection),存放少量数据的时候可以使用HashTable.
3
)为字符串容器声明常量,不要直接把字符封装在双引号
"
"
里面。
//
避免
//
MyObject obj
=
new
MyObject();
obj.Status
=
"
ACTIVE
"
;
//
推荐
const
string
C_STATUS
=
"
ACTIVE
"
;
MyObject obj
=
new
MyObject();
obj.Status
=
C_STATUS;
4
) 不要用UpperCase,Lowercase转换字符串进行比较,用String.Compare代替,它可以忽略大小写进行比较.
例:
const
string
C_VALUE
=
"
COMPARE
"
;
if
(String.Compare(sVariable, C_VALUE,
true
)
==
0
)
{
Console.Write(
"
SAME
"
);
}
5
) 用StringBuilder代替使用字符串连接符 “
+
”,.
//
避免
String sXML
=
"
<parent>
"
;
sXML
+=
"
<child>
"
;
sXML
+=
"
Data
"
;
sXML
+=
"
</child>
"
;
sXML
+=
"
</parent>
"
;
//
推荐
StringBuilder sbXML
=
new
StringBuilder();
sbXML.Append(
"
<parent>
"
);
sbXML.Append(
"
<child>
"
);
sbXML.Append(
"
Data
"
);
sbXML.Append(
"
</child>
"
);
sbXML.Append(
"
</parent>
"
);
6
) If you are only reading from the XML
object
, avoid
using
XMLDocumentt, instead use XPathDocument, which
is
readonly
and so improves performance.
如果只是从XML对象读取数据,用只读的XPathDocument代替XMLDocument,可以提高性能
//
避免
XmlDocument xmld
=
new
XmlDocument();
xmld.LoadXml(sXML);
txtName.Text
=
xmld.SelectSingleNode(
"
/packet/child
"
).InnerText;
//
推荐
XPathDocument xmldContext
=
new
XPathDocument(
new
StringReader(oContext.Value));
XPathNavigator xnav
=
xmldContext.CreateNavigator();
XPathNodeIterator xpNodeIter
=
xnav.Select(
"
packet/child
"
);
iCount
=
xpNodeIter.Count;
xpNodeIter
=
xnav.SelectDescendants(XPathNodeType.Element,
false
);
while
(xpNodeIter.MoveNext())
{
sCurrValues
+=
xpNodeIter.Current.Value
+
"
~
"
;
}
7
) 避免在循环体里声明变量,应该在循环体外声明变量,在循环体里初始化。
//
避免
for
(
int
i
=
0
; i
<
10
; i
++
)
{
SomeClass objSC
=
new
SomeClass();
.
.
.
}
//
推荐
SomeClass objSC
=
null
;
for
(
int
i
=
0
; i
<
10
; i
++
)
{
objSC
=
new
SomeClass();
.
.
.
}
8
) 捕获指定的异常,不要使用通用的System.Exception.
//
避免
try
{
<
some logic
>
}
catch
(Exception exc)
{
<
Error handling
>
}
//
推荐
try
{
<
some logic
>
}
catch
(System.NullReferenceException exc)
{
<
Error handling
>
}
catch
(System.ArgumentOutOfRangeException exc)
{
<
Error handling
>
}
catch
(System.InvalidCastException exc)
{
<
Error handling
>
}
9
) 使用Try
catch
finally时, 要在finally里释放占用的资源如连接,文件流等
不然在Catch到错误后占用的资源不能释放。
try
{
}
catch
{
}
finally
{
conntion.close()
}
10
) 避免使用递归调用和嵌套循环,使用他们会严重影响性能,在不得不用的时候才使用。
11
) 使用适当的Caching策略来提高性能
查看全文
相关阅读:
sql 日期格式化 比较全面
SQL Server 2005 中的树形数据处理示例1
Web网站的性能测试工具
js实现时分秒
sql查询远程数据库的表的数据并填充到本地数据库的表
Windows 2003操作系统十四招加速大法
window2003 server的一些优化设置_windows 2003
解决html向aspx页面传值汉字乱码问题
js快捷键大全 http://www.zhangxinxu.com/wordpress/?p=1667
iis 重启命令
原文地址:https://www.cnblogs.com/kokoliu/p/734585.html
最新文章
RAID在企业服务器中的应用(RAID几种级别)
javascript中创建对象的几种方式
sql连接查询中,where关键字的位置
DNN皮肤应用与制作常见问题
SQL日期格式转换,经典啊。
js获取按键的值
数据库调优
关于Window 7 系统磁盘无法显示的问题的解决办法
net获取两个日期之间的天数和工作日数总结
等额本金和等额本息的区别(含计算公式)
热门文章
如何查询数据库中ID的最新的一条记录 MSSQL Server / 基础类
javscript 导出html中的table到excel
asp.net数据库连接web.config配置
js模拟银行卡账号输入
Jquery插件easyUI属性汇总
将指定的表/视图中的数据导出为 html 文件
手机开发json数据传参
SQL SERVER优化
RSS订阅实现
中英文切换资源文件的问题
Copyright © 2011-2022 走看看