网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > XML&Web > 优化 .NET的性能  

优化 .NET的性能

2008-05-30  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  1)避免使用ArrayList。

  因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定义的集合类型代替ArrayList。.net 2.0提供了一个新的类型,叫泛型,这是一个强类型,使用泛型集合就可以避免了封箱和拆箱的发生,提高了性能。 网管下载dl.bitscn.com

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

网管联盟bitsCN@com

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

中国网管论坛bbs.bitsCN.com

  

      //避免

  // 网管网www_bitscn_com

  MyObject obj = new MyObject(); 网管u家u.bitsCN.com

  obj.Status = "ACTIVE"; 网管联盟bitsCN_com

  //推荐

网管bitscn_com

  const string C_STATUS = "ACTIVE";

网管u家u.bitsCN.com

  MyObject obj = new MyObject();

中国网管论坛bbs.bitsCN.com

  obj.Status = C_STATUS; 中国网管联盟bitsCN.com

  4) 不要用UpperCase,Lowercase转换字符串进行比较,用String.Compare代替,它可以忽略大小写进行比较. 中国网管论坛bbs.bitsCN.com

  例:

网管论坛bbs_bitsCN_com

  

      const string C_VALUE = "COMPARE";

  if (String.Compare(sVariable, C_VALUE, true) == 0) 网管u家u.bitscn@com

  {

网管联盟bitsCN@com

  Console.Write("SAME");

网管联盟bitsCN_com

  } 网管论坛bbs_bitsCN_com

  5) 用StringBuilder代替使用字符串连接符 “+”,.
中国网管论坛bbs.bitsCN.com

   网管联盟bitsCN@com

      //避免

  String sXML = "

网管论坛bbs_bitsCN_com
"; 网管网www_bitscn_com

  sXML += "";

网管下载dl.bitscn.com

  sXML += "Data"; 网管网www.bitscn.com

  sXML += "";

网管论坛bbs_bitsCN_com

  sXML += "";

网管论坛bbs_bitsCN_com

  //推荐

网管联盟bitsCN@com

  StringBuilder sbXML = new StringBuilder(); 网管联盟bitsCN@com

  sbXML.Append("

网管联盟bitsCN@com
");
网管u家u.bitscn@com

  sbXML.Append(""); 网管网www_bitscn_com

  sbXML.Append("Data");

网管u家u.bitscn@com

  sbXML.Append(""); 网管论坛bbs_bitsCN_com

  sbXML.Append(""); 网管联盟bitsCN_com

网管bitscn_com

  6) If you are only reading from the XML object, avoid using XMLDocumentt, instead use XPathDocument, which is readonly and so improves performance. 网管网www.bitscn.com

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

网管下载dl.bitscn.com

      //避免

  XmlDocument xmld = new XmlDocument(); 网管u家u.bitsCN.com

  xmld.LoadXml(sXML); 中国网管联盟bitsCN.com

  txtName.Text = xmld.SelectSingleNode("/packet/child").InnerText; 网管u家u.bitscn@com

  . 中国网管联盟bitsCN.com

  //推荐 网管bitscn_com

  XPathDocument xmldContext = new XPathDocument(new StringReader(oContext.Value));

中国网管联盟bitsCN.com

  XPathNavigator xnav = xmldContext.CreateNavigator();

网管网www_bitscn_com

  XPathNodeIterator xpNodeIter = xnav.Select("packet/child");

网管网www.bitscn.com

  iCount = xpNodeIter.Count; 网管网www.bitscn.com

  xpNodeIter = xnav.SelectDescendants(XPathNodeType.Element, false); 网管联盟bitsCN_com

  while(xpNodeIter.MoveNext())

网管下载dl.bitscn.com

  {

网管联盟bitsCN_com

  sCurrValues += xpNodeIter.Current.Value+"~";

网管联盟bitsCN@com

  } 网管网www_bitscn_com

中国网管论坛bbs.bitsCN.com

 

网管u家u.bitscn@com

网管下载dl.bitscn.com


TAGs   性能   优化       使用   //   避免   new   类型   sXML   sbXML.Append      
 上一篇:xmlhttp是如何完成异步操作的   下一篇:IIS需要的最小NTFS权限
优化 .NET的性能 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: