NOVOTS KMS ´Ê»ã±í Glossary    ÁªÏµÎÒÃÇ Contact Us
²éѯ Search  
   
°´Àà±ðä¯ÀÀ Browse by Category
NOVOTS KMS .: ¹¤×÷Ðĵà .: ÓÅ»¯ .NETµÄÐÔÄÜ

ÓÅ»¯ .NETµÄÐÔÄÜ

¸öÈ˾õµÃϵͳµÄÐÔÄÜÊ×ÏÈÈ¡¾öÓÚÕû¸öϵͳµÄ¼Ü¹¹£¬Æä´Î²ÅÊdzÌÐòÔ±µÄ±à³Ìϰ¹ß¡£ÁíÍâÒ²²»±ØÒ»Î¶×·ÇóÐÔÄÜ£¬ÔÚϵͳÐÔÄÜÐèÇóµÄ·¶Î§Ö®ÄÚ£¬¸ù¾Ýϵͳʵ¼ÊÇé¿ö£¬Ê×ÏÈҪд³ö¿É¶ÁÐÔÇ¿µÄ´úÂ룬ÕâÑùÔÚºóÆÚÔÙÈ¥ÓÅ»¯ÐÔÄܵÄʱºò²Å»áÓÎÈÐÓÐÓà¡£ÒÔÏÂÊÇһЩÌá¸ß.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²ßÂÔÀ´Ìá¸ßÐÔÄÜ
 .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²ßÂÔÀ´Ìá¸ßÐÔÄÜ


ÕâÆªÎÄÕ¶ÔÄã¶àÓÐÓã¿

Ïà¹ØÎÄÕÂ

article ÈçºÎʹ´¥·¢Æ÷¾ß±¸Á¼ºÃµÄÐÔÄÜ£¿
ͨ¹ýSET NOCOUNT ON...

(No rating)  7-20-2009    Views: 1421   
article ÈçºÎÌáÉýÒôÏäµÄÐÔÄÜ
Ëæ×ŵçÄÔ½øÈë¶àýÌåʱ´ú£¬¶àýÌåÒôÏ俪ʼ³ÉΪһ²¿µ...

(No rating)  12-26-2007    Views: 1742   
article »úÏäÁé»êÊÇ·çÉÈ 38¡æ·çµÀÉè¼ÆÐÔÄܽâÎö
 ·çµÀ¿´ËÆÒ»¸ö±È½ÏרҵµÄÃû´Ê£¬Æäʵ·çµÀ¾ÍÊÇÖ...

  8-30-2010    Views: 1679   

Óû§ÆÀÓï

Ìí¼ÓÆÀÓï
µ±Ç°»¹Ã»ÓÐÆÀÓï.


.: .: .: .: .:
[ 怫 ]
±±¾©»¤º½¿Æ¼¼ÓÐÏÞ¹«Ë¾ 2006

Novots Technologies Limited