C # foreach kilpa (su pavyzdžiais)

Šiame straipsnyje mes sužinosime apie foreach kilpas (alternatyva ciklui) ir kaip jas naudoti su masyvais ir kolekcijomis.

C # suteikia lengvai naudojamą ir labiau skaitomą alternatyvą „loop“, foreach kilpai, kai dirbate su masyvais ir kolekcijomis, norėdami kartoti masyvų / kolekcijų elementus. Foreach kilpa kartojasi per kiekvieną elementą, todėl vadinama foreach kilpa.

Prieš eidami į priekį su foreach kilpa, apsilankykite:

  • C # už kilpą
  • C # masyvai
  • C # kolekcijos

Foreach kilpos sintaksė

 foreach (iterable-item elementas) (// foreach loop kilpa) 

Čia kartojamas elementas gali būti masyvas arba kolekcijos klasė.

Kaip veikia „foreach“ kilpa?

inNaudojama kartu su foreach ciklas raktažodis naudojamas pakartoti per iterable-elemento. „In“ raktinis žodis pasirenka elementą iš iteruojamo elemento kiekvienoje iteracijoje ir saugo jį kintamajame elemente.

Pirmo kartojimo metu pirmasis kartojamo elemento elementas saugomas elemente. Antrą kartą kartojant pasirenkamas antrasis elementas ir pan.

Foreach ciklo vykdymo kartų skaičius yra lygus masyvo ar kolekcijos elementų skaičiui.

Čia pateikiamas iteracijos per masyvą, naudojant for ciklą, pavyzdys:

1 pavyzdys: masyvo spausdinimas naudojant kilpą

 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)); ) ) ) ) 

Tą pačią užduotį galima atlikti naudojant „foreach“ kilpą.

2 pavyzdys: Masyvo spausdinimas naudojant foreach kilpą

 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); ) ) ) ) 

Kai vykdysime abi programas, išvestis bus:

 Sveiki 

Aukščiau pateiktoje programoje „foreach“ ciklas kartojasi per masyvą „myArray“. Pirmo kartojimo metu pasirenkamas pirmasis elementas, ty myArray (0), kuris saugomas ch.

Panašiai ir paskutiniame kartojime pasirenkamas paskutinis elementas, ty myArray (4). Kilpos kūno viduje atspausdinta ch reikšmė.

Pažvelgus į abi programas, programa, naudojanti „foreach“ kilpą, yra lengviau skaitoma ir lengvai suprantama. Taip yra dėl paprastos ir išraiškingos sintaksės.

Taigi dirbant su masyvais ir kolekcijomis pirmenybė teikiama „foreach“ kilpai, o ne „loop“.

3 pavyzdys: Lyties masyvo perėjimas naudojant foreach kilpą

Ši programa apskaičiuoja kandidatų vyrų ir moterų skaičių.

 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); ) ) ) 

Kai vykdysime programą, išvestis bus:

 Vyrų skaičius = 6 Moterų skaičius = 4 

4 pavyzdys: foreach kilpa su sąrašu (kolekcija)

Ši programa apskaičiuoja sąrašo elementų sumą.

 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); ) ) ) 

Kai vykdysime programą, išvestis bus:

 Suma = 44

Šioje programoje „foreach“ kilpa naudojama norint pereiti per kolekciją. Kelionė per kolekciją yra panaši į kelionę per masyvą.

Pirmasis rinkimo elementas parenkamas pirmoje iteracijoje, antrasis elementas antroje iteracijoje ir t. T. Iki paskutinio elemento.

Įdomios straipsniai...