[心得] StringBuilder清除方式
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
04/04 11:19, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章