相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫(xiě)文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
PHP中for循環(huán)與foreach的區(qū)別
for循環(huán)與foreach的區(qū)別
foreach 依賴 IEnumerable.
第一次 var a in GetList() 時(shí)調(diào)用 GetEnumerator 返回第一個(gè)對(duì)象并賦給a,
以后每次再執(zhí)行 var a in GetList() 的時(shí)候調(diào)用 MoveNext.直到循環(huán)結(jié)束.
期間GetList()方法只執(zhí)行一次.
+ View Code
for 循環(huán)靠下標(biāo)定位. list[3] 相當(dāng)于 *(list + 3).
+ View Code
or 循環(huán)每次循環(huán)會(huì)調(diào)用 GetCount() 來(lái)比較長(zhǎng)度. 而 foreach 不考慮長(zhǎng)度,只調(diào)用一次GetList().
結(jié)論.
在固定長(zhǎng)度或長(zhǎng)度不需要計(jì)算的時(shí)候for循環(huán)效率高于foreach.
在不確定長(zhǎng)度,或計(jì)算長(zhǎng)度有性能損耗的時(shí)候,用foreach比較方便.
并且foreach的時(shí)候會(huì)鎖定集合中的對(duì)象.期間不能修改.
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!