2018年3月2日 星期五

string += VS StringBuilder

string 不能更改內部的值
所以如果要字串相加,就需要創建多個記憶體空間,空間回收時容易造成效能上的耗損
如下就需要創建三個記憶體空間來實做這操作
    string str = "a";
    str += "bac";

因此如果會對 string 進行操作,最好使用 System.Text.StringBuilder
尤其是在迴圈中 assign string 的值,例如
    System.Text.StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 10; i++)
    {
        sb.Append(i.ToString());
    }
    var str = sb.ToString();


引用:
動態處理字串 - StringBuilder 類別 與 String 類別的效能
C# 中 StringBuilder和String的区别

沒有留言:

張貼留言