Delphi 2009+ 的 System.SysUtils提供了一個類似.Net的StringBuilder,用於存儲字符數組。
很多人不明白為什麼要用TStringBuilder, Delphi中有string,有幾乎所有TStringBuilder的功能函數, System.SysUtils中還有TStringHelper方便擴展String,更方便String的使用。
從Delphi提供的源碼看,TStringBuilder與string最大的區別是,TStringBuilder是可以預先申請了內存空間,並限制最大內存空間,不會自動釋放,而string是用多少申請多少內存,自動釋放。
由此可見TStringBuilder相對於String的優勢有2:
1.
超過內存大小時
TServerStringPool= TServerString= Destroy; TServerStringPool= Destroy; MaxMemorySize= N:=(MaxMemorySize-InstanceSize) L:= i := Capacity L:= i := L.Count- L:= L.Count= Result:= Result:=TServerString(L[L.Count- L.Delete(L.Count- TServerString.FPool:=TServerStringPool.Create( .