close
像我這種半路出家的
有很多東西還搞不清楚就在用了
都用到爛了
某一天才突然又多一點了解...
像String就是~

基本大家都知道.net的String是ReferenceType
String物件的值是不變的
String變數的改變其實是由舊值的物件指向新值的物件

所以相同值的String一般來說會指向同一個物件
(不過以String.Copy則可以產生相同值的不同物件)
而產生新的值相當於產生物件
因此String的操作不當
會產生許多不必要的物件
將會浪費系統的資源
同時這些不必要的產生過程免不了也消耗了許多系統的效能

這就是為什麼許多文章都教我們使用System.Text.StringBuilder
使用上有一點我也是後來才注意到
例如:
Dim sb As New System.Text.StringBuilder
sb.Append("abc")
sb.Append("def")

別寫成
sb.Append("abc" & "def")
因為後者過程中會多產生一個"abcdef"的字串
(在asp.net中使用Response.Write也有類似的道理)
arrow
arrow
    全站熱搜

    marksu22 發表在 痞客邦 留言(0) 人氣()