日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

整理一些提高C#编程性能的技巧

發布時間:2023/12/10 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 整理一些提高C#编程性能的技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、使用StringBuilder代替使用string 連接符 "+"

說明:String類對象是不可變的(只讀),一旦創建該對象,就不能修改該對象的值。

對象String對象的重新賦值,本質上是重新創建了一個String對象并將新的值賦值給該對象。

如果字符串存在較多次的拼接時候,最后使用StringBuilder類,需要引用命名空間 System.Text。

該類不是創建新的對象,而是通過Append、Insert、Remove等方法對字符串直接進行操作,最后通過

ToString方法返回操作結果。從而避免創建大量對象,造成資源浪費、性能降低。

例如:

//不要這樣寫

String str="bei";

str+="jing";

str+="huan";

str+="ying";

str+="ni";

//推薦這樣寫

StringBuilder str=new StringBuilder();

str.Append("bei");

str.Append("jing");

str.Append("huan");

str.Append("ying");

str.Append("ni");

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#编程性能的技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。