2011-03-31 87 views
1

我有疑問是否使用字符串或字符串生成器來追加HTML元素,如「div」和其他人在我的頁面在mvc中。有沒有其他的方法來處理這件事。字符串和字符串生成器之間的差異

謝謝。

+1

ATLEAST辦給予好評,如果你喜歡的答案建議 – 2011-04-04 11:27:59

+0

好吧感謝。 :) – Shilpa 2011-04-04 11:46:02

回答

0

老實說,最後說些不尋常的東西真的沒關係。差異非常小,您不應該在乎這一點,您應該將時間投入其他有所作爲的事情上。

查看Jeff的這篇文章,其中解釋了所有這些內容(還在Web環境中創建StackOverflow時)。

Coding horror article about why does not matter how do you create strings

+0

偉大的觀點。但是,你能解釋我關於不可改變的事情,我只是不明白它。提前感謝。 – Shilpa 2011-03-31 07:10:10

2

我讀過,當你預測有多於6個連接時,Microsoft建議使用StringBuilder。

1

每當你執行附加文本時,你應該總是使用stringbuilder。

使用字符串會反覆創建字符串的新實例,因此效率低下。

2

StringBuilder是要走的路。 A String持有對不可變(固定)字符串的引用,並且追加到字符串的效率非常低。如果你的意圖是重複執行追加,那麼這正是StringBuilder的設計目的。

+3

不可變,這意味着對字符串的任何更改都會導致運行時創建新字符串並放棄舊字符串。 – 2011-03-31 06:54:38

+0

@rob:是的 - 這就是我的意思 - 但你的解釋更清晰! – 2011-03-31 09:56:41

+0

感謝您的解釋。 :) – Shilpa 2011-04-04 11:47:32

0

當多個字符串連接爲 時,可以使用字符串bulider。 StringBuilder更高效,因爲它的確包含一個可變字符串緩衝區。 .NET字符串是不可變的 這就是爲什麼每當我們改變它(插入,追加,刪除等)時,創建一個新字符串對象的原因 。

+0

Thanks.Is對我們項目中的hw有很多次限制,我們可以使用字符串生成器? – Shilpa 2011-03-31 07:02:10

2

如果您更改字符串(添加,刪除,更改,替換字符),您應該使用StringBuilder,因爲它更有效。如果你只是簡單的操作,你應該使用字符串。

string的問題是,它是不變的,所以operatrion

string text = myStringVariable + "new string" 

導致該文本變量的新實例將被創建。如果你對字符串類做了很多操作,那麼你將會有很多字符串對象的實例。