4 回答

TA貢獻1815條經驗 獲得超6個贊
int num[] = new int[]{2,3,4,5,6,7};
foreach(int item in num)
{
//一般的循環操作,這樣的效率是比for要高得多,因為它是迭代循環
//PS:foreach適用場景:不能對集合num[]進行刪除或者添加操作,否則會得不到期望的結果
}
for(int i=0;i<=num.Length;i++)
{
if(num[i]==5) //就刪除集合num[]中的元素5
//這種對集合num[]進行的刪除元素操作就是foreach不能代替的~~~
}

TA貢獻1801條經驗 獲得超8個贊
foreach就是遍歷,和for的效果都一樣,不存在樓主說的“完全替代”這樣的說法,只是一個寫法問題而已。
我個人感覺,其實foreach寫起來比for輕松點。

TA貢獻1821條經驗 獲得超5個贊
我也認為foreach能實現的for都能實現,相反for能實現的foreach就未必能實現。早期的編程語言比如c,c++都沒有foreach語句,它是在之后的發展出來的編程語言才出現的,比如C#、Java,說明了它既然存在必然有它存在的意義。時代在進步,思想也是,我覺得你不應該從for是不是能代替foreach這個角度看foreach語句,而是一個語句能解決什么問題的角度,我覺得本來foreach就相當于一種設計思想,針對集合這類數據進行遍歷的情況,你用的時候,難道不覺得方便了許多,至于別的比如它們之間的區別,只是實現遍歷條件上的差異而已。
foreach是針對集合類的遍歷,比如泛型之類的也適用,不僅僅是針對數組

TA貢獻1804條經驗 獲得超7個贊
循環都是可以相互代替的啊。
就像你while的語句,用for也完全可以寫出來。
這里的foreach語句,看起來不是比for語句清晰很多么?也就是說的代碼的美觀程度,而且經過優化,現在foreach語句效率已經和for語句效率一樣了。
- 4 回答
- 0 關注
- 992 瀏覽
添加回答
舉報