<a target="_blank" href="http://blog.csdn.net/jiankunking/article/details/18664043">c# 性能優化細節</a>
1、使用string.empty給一個空字元串變量賦初始值
string.empty是一個指代,而””是具體的實作
2、使用str.length == 0做空串比較
最快的方法:if (str.length == 0)
其次:if (str == string.empty)或 if (str == "")
3、避免不必要的字元串toupper、tolower類操作
toupper、tolower這類方法均會重新生成字元串對
string.compare可實作忽略字元串大小寫
4、巧用stringbuilder進行字元串拼接操作
如果要構造一個較長的字元串,尤其是拼接超過10次時(經驗值),應使用stringbuilder做字元串拼接操作。
5、建立stringbuilder應指定初始大小
預設的初始大小為16,一旦超過即需要resize一次并增加gc壓力。建議根據經驗值為其指定初始大小。
6、避免濫用stringbuilder
類似str1+str2+str3+str4的字元串拼接操作會被編譯為 string.concat(str1,str2,str3, str4),效率反而高于stringbuilder。string.concat會一次性确定字元串長度, stringbuilder需要做resize,适用于多次生成string對象的情況。
7、通過直接設定.length=0來初始化stringbuilder
根據實驗結果,多次使用同一stringbuilder對象時,通過直接設定.length=0來初始化速度最快。
8、不要使用.length=0來釋放stringbuilder占用的記憶體
9、待續