作者tomex (tomex_ou)
看板C_Sharp
标题[心得] StringBuilder清除方式
时间Mon Apr 3 02:42:01 2006
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