淺談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ù)組,并且遍歷的過(guò)程中只需要讀取而不會(huì)更改,使用foreach循環(huán)最合適,反之,則根據(jù)需要,選擇其他循環(huán)。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(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ì)比f(wàn)or循環(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í)行問(wèn)題
相關(guān)文章
C#實(shí)現(xiàn)學(xué)員信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)學(xué)員信息管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù)實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù),結(jié)合簡(jiǎn)單實(shí)例形式分析了C#字符串的轉(zhuǎn)換、遍歷、加密等操作技巧,需要的朋友可以參考下2016-07-07C#動(dòng)態(tài)創(chuàng)建button的方法
這篇文章主要介紹了C#動(dòng)態(tài)創(chuàng)建button的方法,涉及C#按鈕屬性動(dòng)態(tài)設(shè)置的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08Unity Shader實(shí)現(xiàn)圖形繪制(藍(lán)天白云大海)
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)圖形繪制,藍(lán)天白云大海,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04C#實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入到SQL server數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了在C#中如何實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入到SQL server數(shù)據(jù)庫(kù)中,文中的示例代碼簡(jiǎn)潔易懂,希望對(duì)大家有一定的幫助2024-03-03C# 4.0 大數(shù)的運(yùn)算--BigInteger的應(yīng)用詳解
本篇文章是對(duì)C# 4.0 大數(shù)的運(yùn)算 BigInteger的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能(2)(窗體應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01解析使用enumerator模式簡(jiǎn)化異步操作的詳解
本篇文章是對(duì)使用enumerator模式簡(jiǎn)化異步操作進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Winform動(dòng)態(tài)加載TabControl用法實(shí)例
這篇文章主要介紹了Winform動(dòng)態(tài)加載TabControl用法,以實(shí)例形式詳細(xì)講述了Winform動(dòng)態(tài)加載TabControl的方法,在C#應(yīng)用程序開(kāi)發(fā)中具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11