大多數有垃圾**機制的語言中,string都有恆定性這一特性即:一旦乙個字串初始化了乙個值,如何你要進行拼接操作,那麼你必須要重新建立乙個字串。看一下下面的例子:b和c拼接後儲存到a裡
a = b+c;
這就是有時拼接字串會很耗效能的原因了。當然我們平時可能用到的比較多的情形是在乙個迴圈裡拼字串,或者建立乙個xml檔案等。這時一點要注意一下。
再看一下下面的式子:
mystring = mystring + 'b'
首先我們要建立乙個足夠大的空間儲存拼接後的字串,然後把等式後的第乙個第乙個值和第二個值放到儲存空間裡。
如果這個式子出現在乙個迴圈裡,那麼就要重複的建立儲存空間,並且一次比一次大。。
其實我們最想看到的是下面這樣的形式:
在.net中可以使用stringbuilder來完成。
最近看了string恆定性的東西,一直在想為什麼字串有這樣的特性?
其實這也是所有引用型別的特性麼。若建立了乙個引用型別,那麼無論你在進行型別轉換或者傳參或者其他操作,它都不會變化。
參考原文:
固定在螢幕恆定位置的div層
在wp中文論壇看到乙個仿vista風格的模板,在下面恆定固定了乙個div層。我一直想要這個效果但一直沒找到方法,這次趕快琢磨一下。原來其主體是position fixed 但這個並不適合ie6,於是去找解決法子。嘗試幾次後發現,只要在css裡加多一段就可以輕鬆解決。整個css如下 示例為螢幕右下角 ...
mysql穩定性 MySQL的穩定性
isam表處理器 穩定 它管理所有在mysql 3.22和早期版本中的資料的儲存和檢索。在所有mysql版本中,中已經沒有乙個單獨 報告的 錯誤。得到乙個損壞的資料庫表的唯一已知方法是在乙個更新中途殺死伺服器,即使這樣也不大可能破壞任何資料而不能挽救,因為所有資料在每個查詢之間被倒入 flush 到...
String與string的區別
1 string是乙個類,string是一種資料型別.2 string是c 中的類,string是.net framework的類 在c ide中不會顯示藍色 3 c string對映為.net framework的string 4 如果用string,編譯器會把它編譯成string,所以如果直接用...