淺談C#中的for循環(huán)與foreach循環(huán)
for循環(huán)和foreach循環(huán)其實(shí)可以算得上是從屬關(guān)系的,即foreach循環(huán)是可以轉(zhuǎn)化成for循環(huán),但是for循環(huán)不一定能轉(zhuǎn)換成foreach循環(huán)。
下面簡(jiǎn)單介紹一下兩種循環(huán):
1.for循環(huán)
代碼格式:
for(表達(dá)式1;循環(huán)條件;表達(dá)式2)
{
循環(huán)體
}
代碼含義:
首先運(yùn)行表達(dá)式1;
然后判斷條件是否為真,如果為真,則執(zhí)行循環(huán)體,執(zhí)行完后再運(yùn)行表達(dá)式2;
接著再判斷循環(huán)條件……直到循環(huán)條件為假才會(huì)結(jié)束循環(huán)。
注意事項(xiàng):
表達(dá)式1:可以是任何代碼,一定會(huì)執(zhí)行且只會(huì)執(zhí)行一次;
表達(dá)式2:可以是任何代碼,在循環(huán)體執(zhí)行后執(zhí)行。
2.foreach循環(huán)
代碼格式:
foreach(數(shù)據(jù)類型 變量 in 數(shù)組或集合)
{
循環(huán)體
}
代碼含義:
從數(shù)組或集合中,依次取出每一項(xiàng)的數(shù)據(jù),每取出一項(xiàng)的數(shù)據(jù),就把數(shù)據(jù)賦值給循環(huán)變量,每一次賦值后,運(yùn)行一次循環(huán)體。
注意事項(xiàng):
foreach循環(huán)只能用于遍歷數(shù)組和集合;
foreach循環(huán)也叫只讀循環(huán),在循環(huán)體中,不能更改集合或數(shù)組;
數(shù)據(jù)類型必須與數(shù)組或集合中的每一項(xiàng)的數(shù)據(jù)類型相同。
然而foreach循環(huán)和for循環(huán)有什么區(qū)別和優(yōu)缺點(diǎn)呢?下面簡(jiǎn)單總結(jié)一下:
foreach循環(huán) for循環(huán)
只能用于遍歷; 可以用于任何形式的重復(fù)行為;
不能更改循環(huán)目標(biāo); 在循環(huán)體中,可以進(jìn)行任何操作;
遍歷速度快,執(zhí)行效率高。 遍歷速度慢,執(zhí)行效率低 。
總結(jié):若需要遍歷集合或數(shù)組,并且遍歷的過程中只需要讀取而不會(huì)更改,使用foreach循環(huán)最合適,反之,則根據(jù)需要,選擇其他循環(huán)。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- C#中Foreach循環(huán)遍歷的本質(zhì)與枚舉器詳解
- C# 9.0新特性——擴(kuò)展方法GetEnumerator支持foreach循環(huán)
- c#中l(wèi)ist.FindAll與for循環(huán)的性能對(duì)比總結(jié)
- C#中foreach循環(huán)對(duì)比for循環(huán)的優(yōu)勢(shì)和劣勢(shì)
- C# for循環(huán)的經(jīng)典案例集錦
- C# winform循環(huán)播放多個(gè)視頻
- C#使用for循環(huán)移除HTML標(biāo)記
- c# for循環(huán)中創(chuàng)建線程執(zhí)行問題
相關(guān)文章
C# Split函數(shù)根據(jù)特定分隔符分割字符串的操作
這篇文章主要介紹了C# Split函數(shù)根據(jù)特定分隔符分割字符串的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
C#的鋸齒數(shù)組以及C++實(shí)現(xiàn)代碼
鋸齒數(shù)組首先是二維數(shù)組,第一維的維數(shù)是確定的。之所以在C#中能夠出現(xiàn)靈活的鋸齒數(shù)組,是因?yàn)?,C#的數(shù)組是引用類型(本質(zhì)上存放的是指針)。根據(jù)這個(gè)引用類型(指針)的概念,C++中用指針數(shù)組同樣可以實(shí)現(xiàn)2013-09-09
深入淺析C#?11?對(duì)?ref?和?struct?的改進(jìn)
這篇文章主要介紹了C#?11?對(duì)?ref?和?struct?的改進(jìn),有了這些基礎(chǔ)設(shè)施,開發(fā)者們將能輕松使用安全的方式來編寫沒有任何堆內(nèi)存開銷的高性能代碼,需要的朋友可以參考下2022-04-04
動(dòng)態(tài)webservice調(diào)用接口并讀取解析返回結(jié)果
webservice的 發(fā)布一般都是使用WSDL(web service descriptive language)文件的樣式來發(fā)布的,在WSDL文件里面,包含這個(gè)webservice暴露在外面可供使用的接口。今天我們來詳細(xì)討論下如何動(dòng)態(tài)調(diào)用以及讀取解析返回結(jié)果2015-06-06
c# Selenium爬取數(shù)據(jù)時(shí)防止webdriver封爬蟲的方法
這篇文章主要介紹了c# Selenium爬取數(shù)據(jù)時(shí)防止webdriver封爬蟲的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01

