C#中的for和foreach的探究與學習
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
一:語句及表示方法 for語句: for(初始表達式;條件表達式;增量表達式) foreach語句: foreach(數據類型 變量 in 數組或集合) 二.理解 1.從程序邏輯上理解,foreach是通過指針偏移實現的(最初在-1位置,每循環一次,指針就偏移一個單位),而for循環是通過當前索引相對零索引的偏移量(通過首地址和地址偏移量)計算實際訪問地址實現的; 2.以上我們也可以看出,for更具有判斷邏輯性,foreach只是循環訪問。當然你可以你再循環體引入業務邏輯。 從以上總結我們看出,兩者各有優點,其實我覺得各自的優點,要在不同的程序中我們去考量一些要素,同時我們具體問題具體分析。那我們具體看下一下代碼:我們以100萬個數據相加累和,作進一步測試: 代碼如下: 三.結果: 四.從問題出發,更要從實際出發 我們對for語句和foreach語句進行統計,實際此程序問題很多: 問題0:其中變量的定義對測試影響大不大。 問題1:DateTime.Now時間的精確性影響大不大。 問題2:for語句和foreach語句的位置順序問題會不會影響。 問題3:相加累和方法測試,對for語句和foreach語句測試是否公平。 問題4:for語句和foreach語句,裝載數據方式,調用數據順序具有很大的研究價值。 問題5:for語句和foreach語句運行機制原理,對于兩者的PK是否公平。 以上幾點經過長久的測試,影響比較大的。當我們試圖去探究一些問題,請大家更注重他們的運行機制,當然也要更注重他們在我們實際程序中,不能一直去研究性能,而忽略他們存在機制。 該文章在 2023/10/7 10:00:00 編輯過 |
關鍵字查詢
相關文章
正在查詢... |