C 字串操作 效能優化細節

2021-07-26 14:55:48 字數 1465 閱讀 7767

c# 效能優化細節

1、使用string.empty給乙個空字串變數賦初始值

2、使用str.length == 0做空串比較

3、避免不必要的字串toupper、tolower類操作

4、巧用stringbuilder進行字串拼接操作

5、建立stringbuilder應指定初始大小

6、避免濫用stringbuilder

7、通過直接設定.length=0來初始化stringbuilder

8、不要使用.length=0來釋放stringbuilder占用的記憶體

static void test()

string t = sb.tostring();

……//其他不使用變數sb的**段

sb.length = 0; //去掉該句手工清空sb**,會更早釋放記憶體

}

9、string的indexof和contains效能測試

通過測試證明 contains 速度比indexof快很多。

10、c#中「equals」與「==」的速度比較

下面列出5次測試結果的對比:

true測試最快方式

true測試最快方式與第二名的差距

false測試最快方式

false測試最快方式與第二名的差距

測試1"value" == string

0.046 s

"value".equals(string)

0.016 s

測試2"value" == string

0.219 s

"value".equals(string)

0.036 s

測試3string == "value"

0.015 s

"value".equals(string)

0.001 s

測試4string == "value"

0.068 s

string.equals("value")

0.021 s

測試5string == "value"

0.066 s

"value".equals(string)

0.001 s

true測試:"value" == string領先總時間為0.265秒,string == "value"領先總時間為0.149秒;

false測試:"value".equals(string)領先總時間為0.054秒,string.equals("value")領先總時間為0.021秒。

現在我們暫時可以得到的結論是:true判斷時,用"value" == string是最快的;false判斷時,用"value".equals(string)是最快的。

也就是說:乙個判斷true發生的情況多些時,用"value" == string;false發生的情況多些時,用"value".equals(string)。

字串操作效能

在開發中遇到過以下情況 在網頁的後台 中,需要根據獲取的資料集來生成客戶端html 程式中用了大量類似 str 的 當資料集中的資料量比較小時,網頁開啟的速度沒有太大影響。但是,當資料集中的記錄達到500 甚至1000 的時候,開啟網頁需要幾十秒。string 物件是不可改變的。每次使用 syste...

unity效能優化 字串操作 一

一 避免額外的裝箱操作 二 重複修改或合併大量字串時,最好使用stringbulider類1.由於字串是在堆上連續分配的引用型別,所以在修改字串的時候,實際上是在堆上分配了新的空間,並修改儲存在變數中的位址,而原本的字串會在記憶體之中占用,等待下一次的清理,在大量操作的時候,會造成極大的浪費.2.並...

oracle proc 插入操作效能優化實踐

student 表中 10萬條資料。從 student 表中取出所有資料,插入到 student his 表中 1.批量插入 效果明顯 2.批量查詢 效果不明顯 3.批量提交 效果不明顯 4.預編譯 sql 語句 效果不明顯 10萬條資料,普通方法 27 秒,優化後 8 秒 create table...