C # foreach-silmukka (esimerkkien kanssa)

Tässä artikkelissa opit foreach-silmukoista (vaihtoehto loopille) ja niiden käytöstä taulukoiden ja kokoelmien kanssa.

C # tarjoaa helppokäyttöisen ja luettavamman vaihtoehdon silmukalle, foreach-silmukalle, kun työskentelet matriisien ja kokoelmien kanssa toistaaksesi taulukoiden / kokoelmien kohteita. Foreach-silmukka iteroituu jokaisen kohteen läpi, jota kutsutaan foreach-silmukaksi.

Ennen kuin siirryt eteenpäin foreach-silmukalla, käy:

  • C # silmukalle
  • C # -taulukot
  • C # kokoelmat

Foreach-silmukan syntaksi

 foreach (iterable-item -elementti) (// foreach-silmukan runko) 

Tässä iteroitava kohde voi olla matriisi tai kokoelmaluokka.

Kuinka foreach-silmukka toimii?

inAvainsana käytetään yhdessä foreach silmukkaa käytetään iteraatiota yli iterable-erä. In avainsanassa valitsee kohteen iteroitavasta alkiosta jokaisessa iteraatiossa ja tallentaa sen muuttujaelementtiin.

Ensimmäisellä iteraatiolla iteroitavan kohteen ensimmäinen kohde tallennetaan elementtiin. Toisella iteraatiolla valitaan toinen elementti ja niin edelleen.

Foreach-silmukan suorittamien kertojen määrä on yhtä suuri kuin taulukon tai kokoelman elementtien lukumäärä.

Tässä on esimerkki iteroinnista taulukon kautta for-silmukkaa käyttäen:

Esimerkki 1: Taulukon tulostaminen silmukkaa varten

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) ) 

Sama tehtävä voidaan tehdä foreach-silmukalla.

Esimerkki 2: Taulukon tulostaminen foreach-silmukalla

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) ) 

Kun suoritamme molemmat ohjelmat, tulos on:

 Hei 

Edellä olevassa ohjelmassa foreach-silmukka toistaa taulukon myArray. Ensimmäisellä iteraatiolla ensimmäinen elementti eli myArray (0) valitaan ja tallennetaan kansioon ch.

Vastaavasti viimeisellä iteraatiolla valitaan viimeinen elementti eli myArray (4). Silmukan rungon sisällä ch: n arvo tulostetaan.

Kun tarkastelemme molempia ohjelmia, foreach-silmukkaa käyttävä ohjelma on luettavampi ja helpompi ymmärtää. Tämä johtuu sen yksinkertaisesta ja ilmeikkäästä syntaksista.

Siksi foreach-silmukka on parempana silmukalle kuin matriisien ja kokoelmien kanssa työskenneltäessä.

Esimerkki 3: sukupuoliryhmän kulkeminen foreach-silmukan avulla

Tämä ohjelma laskee mies- ja naisehdokkaiden määrän.

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) ) 

Kun suoritamme ohjelmaa, tulos on:

 Urosmäärä = 6 Naarasmäärä = 4 

Esimerkki 4: Foreach-silmukka, jossa on luettelo (kokoelma)

Tämä ohjelma laskee luettelon elementtien summan.

 using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Kun suoritamme ohjelmaa, tulos on:

 Summa = 44

Tässä ohjelmassa foreach-silmukkaa käytetään kulkemaan kokoelman läpi. Kokoelman kulkeminen on samanlainen kuin matriisin läpi kulkeminen.

Kokoelman ensimmäinen elementti valitaan ensimmäiseen iteraatioon, toinen elementti toiseen iteraatioon ja niin edelleen viimeiseen elementtiin asti.

Mielenkiintoisia artikkeleita...