讀【157個完美化C#的建議】一書的理解筆記。
重點: 字串的操作通常考量以下兩點,範例說明:
1. 封裝次數
2. 記憶體消耗
以下是C#字串相加數值,第一段是常用的 + ,第二段為.ToString()
第一段 (對123 進行了 string -> object -> string 的工作, + 號都會對記憶體New一個新物件):
string exampleA = "string" + 123;
第二段(效能較好, 123少了object 的封裝 ):
string exapmleB = "string" + 123.ToString();
第一段封裝的工作實際上就是記憶體的消耗。
推薦的做法是使用以下兩種寫法
1. 使用StringBuilder,※stringBuilder 在 以16字元為單位 ,當超過時才會進行記憶體配置
StringBuilder exampleA = new StringBuilder("string");
exampleA .Append(123);
2. String.Format ※(內部是使用StringBuilder)
string exampleA = string.Format("{0}{1}", "string", 123);
github連結(Vs2015) : 點我下載