亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在.NET中,哪個循環運行得更快,“for”還是“foreach”?

在.NET中,哪個循環運行得更快,“for”還是“foreach”?

楊__羊羊 2019-06-24 10:30:39
在.NET中,哪個循環運行得更快,“for”還是“foreach”?在運行速度更快的C#/VB.NET/.NET中,for或foreach?自從我讀到for循環的工作速度比foreach環a很久以前我認為它適用于所有集合、泛型集合、所有數組等。我搜索了谷歌,發現了一些文章,但大多數都是不確定的(閱讀文章的評論)和開放式的文章。理想的做法是列出每個場景,并為其提供最佳解決方案。例如(僅僅是它應該如何的一個例子):用于迭代1000多個字符串的數組-for比foreach用于迭代IList(非屬)字符串-foreach比for在網上也可以找到一些相同的參考資料:伊曼紐爾·尚澤爾的原創古舊文章CodeProject FOREACH VS.為博客-toforeach還是不去foreach,這就是問題所在ASP.NET論壇-NET1.1 C#forVSforeach[編輯]除了可讀性方面,我真的對事實和數字感興趣。在某些應用程序中,性能優化的最后一英里確實很重要。
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

帕特里克·斯馬奇亞在博客上寫到上個月,有以下結論:

  • 對于列表上的循環,比列表中的foreach循環要便宜2倍多。
  • 數組上的循環比列表上的循環要便宜大約2倍。
  • 因此,使用for對數組進行循環比使用foreach在列表上循環要便宜5倍(我相信,我們都是這樣做的)。


查看完整回答
反對 回復 2019-06-24
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

foreach循環比for.

使用foreach循環向使用您的代碼的任何人演示,您計劃對集合的每個成員做一些事情,而不管它在集合中的位置如何。它還顯示您沒有修改原始集合(如果嘗試,則拋出異常)。

另一個優勢是foreach它適用于任何IEnumerable,在哪里for只對IList,其中每個元素實際上都有一個索引。

但是,如果您需要使用元素的索引,那么當然應該允許您使用for循環。但是,如果您不需要使用索引,那么使用索引就會使代碼變得雜亂無章。

據我所知,沒有明顯的性能影響。在將來的某個階段,使用foreach在多個核上運行,但現在不需要擔心。


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 1187 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號