1、使用stringbuilder代替使用string 連線符 "+"
說明:string類物件是不可變的(唯讀),一旦建立該物件,就不能修改該物件的值。
物件string物件的重新賦值,本質上是重新建立了乙個string物件並將新的值賦值給該物件。
如果字串存在較多次的拼接時候,最後使用stringbuilder類,需要引用命名空間 system.text。
tostring方法返回操作結果。從而避免建立大量物件,造成資源浪費、效能降低。
例如://不要這樣寫
string str="bei";
str+="jing";
str+="huan";
str+="ying";
str+="ni";
//推薦這樣寫
stringbuilder str=new stringbuilder();
2、用foreach 代替 for 迴圈
如果是可以使用foreach的時候,盡量用foreach,而不是 for。前者的效率比後者要高很多。
3、使用hashtable 代替其他字典集合型別(如 stringdictionary、namevaluecollection),存放少量資料的時候可以使用hashtable。
4、避免使用arraylist
因為arraylist使用的時候存在裝箱、拆箱會造成效能的損失,可以用泛型來代替。
5、如果是字元進行比較的時候可以採用string.compare,它會忽略大小寫進行比較,而不要使用uppercase、lowercase轉換後進行比較。
6、如果只是從xml物件中讀取資料,可以用唯讀的xpathdocument代替xmldocument,可以提高效能。
7、c#捕獲異常的時候,不要使用通用的system.exception。可以根據程式邏輯考慮可能出現的異常進行控制。
8、要避免在迴圈體內宣告變數,如果可以的化,最好放在迴圈體外宣告,在迴圈體內初始化。
9、採用using和try/finaly來做資源清理
10、不要使用異常(exception)來控制程式的流程
因為捕獲異常對效能的損耗很大,最好不要用異常去控制程式的流程。
11、使用值型別的tostring方法避免裝箱操作。
因為值型別到引用型別會造成效能的損耗,所以使用值型別的tostring方法可以避免裝箱造成的效能損耗。
12、避免濫用反射,反射也是比較浪費效能的操作
當使用反射來呼叫型別或者觸發方法,或者訪問乙個字段或者屬性是,clr需要做很多任務作:校驗引數、檢查許可權、
所以非常耗時,因此這樣的情況下要盡量避免反射的使用。
整理一些提高C 程式設計效能的技巧
1 使用stringbuilder代替使用string 連線符 說明 string類物件是不可變的 唯讀 一旦建立該物件,就不能修改該物件的值。物件string物件的重新賦值,本質上是重新建立了乙個string物件並將新的值賦值給該物件。如果字串存在較多次的拼接時候,最後使用stringbuilde...
整理一些提高C 程式設計效能的技巧
1 使用stringbuilder代替使用string 連線符 說明 string類物件是不可變的 唯讀 一旦建立該物件,就不能修改該物件的值。物件string物件的重新賦值,本質上是重新建立了乙個string物件並將新的值賦值給該物件。如果字串存在較多次的拼接時候,最後使用stringbuilde...
c 程式設計的一些技巧
第一點,使用全域性物件的建構函式在程式啟動前呼叫函式 有一些應用程式需要在主程式啟動前呼叫其它函式。如 轉態過程函式 登記 功能函式都是必須在實際程式執行前被呼叫的。最簡單的辦法是通過乙個全域性物件 的建構函式來呼叫這些函式。因為全域性物件都是在主程式開始前被構造,這些函式 都將會在main 之前返...