0
A
回答
2
好了,除了一個循環中創建新對象的輕微代碼味道,我能看到你裏面創建一個StringBuilder for循環生成在每個項目的長字符串for循環。
但是,您也可以將其範圍限制在for循環之外並在每次傳遞時將其清除。取決於你如何認爲它會更容易閱讀。
0
如果你是在與另一個外部StringBuilder結合使用它。
StringBuilder sbAll = new StringBuilder();
for (int i=0; i<cnt; i++) {
....
{
StringBuilder sb = new StringBuilder();
sb.append(",");
sbAll.append(sb.toString());
}
}
問題是你在循環裏面做了什麼,它足夠可愛,需要一個單獨的StringBuilder?我想這是可能的。
0
如果內循環後面的代碼正在做一些需要大量內存的事情,並且內循環內的StringBuilder也很大,那麼您可能希望將它放在本地範圍內,以便它可以被GC之後免費記憶。否則,我同意JBristow它應該在循環外部作用域,並在內部循環開始時清除(可能還有trimToSize()'d)。
相關問題
- 1. StringBuilder的for循環
- 2. 不一致的StringBuilder在一個循環
- 3. for循環內另一個for循環Python
- 4. 將2 for循環放置在另一個for findtr循環內for
- 5. ForElse循環在另一個For循環
- 6. 內for循環
- 7. 甲骨文FOR循環內FOR循環
- 8. for循環for循環內c
- 9. linq for for循環內foreach循環
- 10. 等待一個jQueryanimation內for循環
- 11. 如果條件一個FOR循環內
- 12. Php for循環在另一個for循環內不能正常工作?
- 13. 在循環內增加for循環
- 14. 在特定時間內執行一個for循環
- 15. For循環for另一個循環在R
- 16. 如何在for循環中獲得另一個for循環
- 17. 如何製作一個退格按鈕,刪除for循環內的一個stringbuilder的最後一個字符
- 18. For循環,一個循環內進行遞增
- 19. 用於內部另一個循環for循環的JavaScript(jQuery的)
- 20. for循環內的一個while循環 - o(n)平方?
- 21. 在for循環內查詢
- 22. For循環內Foreach
- 23. 製作一個嵌套的for循環到單一for循環
- 24. 更新外部循環的值,For循環在另一個For循環
- 25. IndexOutOfRangeException在使用StringBuilder嵌套for循環在c#
- 26. 如何在一個循環內循環
- 27. 在第一個循環中顯示一次for循環內的文本
- 28. For循環,除以一個
- 29. AsyncJS用一個for循環
- 30. 打破一個for循環
「在循環內創建新對象的輕微代碼氣味」 - 這怎麼可能是「代碼味道」?每個Linq到對象的查詢都是一個循環(或多個循環),它們總是可以隨時創建對象。 – 2010-04-14 18:13:30
你只是想看看你在循環內做什麼。在這種情況下,沒有問題。有可能你可能會創建一堆帶有副作用的對象,導致他們稍後出現問題。正如我所說,這只是一個小問題,但在創建非價值對象時需要考慮一些問題。 – 2010-04-14 18:17:05