[心得] StringBuilder清除方式

看板C_Sharp (C#)作者 (tomex_ou)時間19年前 (2006/04/03 02:31), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
StringBuilder有它的效能,更是stream串流的底層角色 因此強薦建議多善用它 只要超過二行的append,就該用它。 以前我寫sql query會用string來串,即使長一點,也用 string充當,應該不想麻煩! 現在我會用這方式來寫: 1.首先在sqlserver內打sql測試(要斷行比較清除): SELECT UserId, UserName FROM table1 WHERE UserId=23 AND Enabled=1 2.回到.Net裏,把上面的3行直接貼上, 前後加上/**/ 這目的是為了以後作sql修正測試。 /* SELECT UserId, UserName FROM table1 WHERE UserId=23 AND Enabled=1 */ 3.接著,使用StringBuilder來模擬斷行,不要又臭又長, 空白放最後: StringBuilder sql = new StringBuilder(); sql.AppendFormat("SELECT UserId, UserName "); sql.AppendFormat("FROM table1 "); sql.AppendFormat("WHERE UserId=23 AND Enabled=1"); sqlCommand.CommandText = sql.ToString(); 發現了嗎? 使用StringBuilder不僅能有效能,又能在觀看上斷行 每一行且又隨時加入變化換值。 甚至,你能寫個code snippet產生器,快速產生這類的程式碼 都比string更整齊多變化。 另外,StringBuilder在.Net 2.0不提供Clear()函式 請善用 sb.Length = 0 來達到效果 它在大量資料測試時發現,能擁有立即刪除內容的高效能 不要用 sb.Remove(0, sb.Length); 心中時時有StringBuilder,你會得永生的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.20.171

04/04 11:19, , 1F
可以參考這一篇 http://coolfire.fetag.org/?p=230
04/04 11:19, 1F
文章代碼(AID): #14C1XrQL (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #14C1XrQL (C_Sharp)