Što je za svakoga?
Za svaku je naredba petlje. Ovu biste izjavu trebali koristiti kada trebate ponoviti skup izjava za svaku stavku u zbirci. Pomoću nje možete manipulirati svim elementima koji se nalaze u zbirci ili nizu.
U ovom VB. Net tutorial, naučit ćete,
- Što je za svakoga?
- Sintaksa za Svaki ... Sljedeći
- Primjeri
- Ugniježđeno za petlje
- Izađite i nastavite još
Sintaksa za Svaki ... Sljedeći
Izraz za svaku uzima sintaksu navedenu u nastavku:
For Each item [ As data_type ] In group[ statement(s) ][ Continue For ][ statement(s) ][ Exit For ][ statement(s) ]Next [ item ]
Ovdje,
- Stavka je varijabla koja će se koristiti za ponavljanje svih predmeta zbirke. To je potrebno u za svaku izjavu, ali neobavezno u naredbi Next.
- Vrsta podataka je vrsta podataka elementa. Potrebno je ako predmet nije prijavljen.
- Skupina je zbirka nad kojom se trebaju ponoviti iskazi. Potrebno je.
- Izjave nisu obvezne. Označava jedan ili više izraza koji će se izvršiti za svaku stavku u grupi.
- Continue For prenijet će kontrolu na početak For Every loop. Nije obavezno.
- Izlaz za će prenijeti kontrolu iz za svaku petlju. Nije obavezno.
- Sljedeće označava kraj petlje Za svaku. Potrebno je.
Primjeri
Pokažimo kako se koristi ova izjava:
Korak 1) Započnite stvaranjem nove aplikacije konzole.
Korak 2) Upotrijebite sljedeći kod:
Module Module1Sub Main()Dim myArray() As Integer = {10, 3, 12, 23, 9}Dim item As IntegerFor Each item In myArrayConsole.WriteLine(item)NextConsole.ReadKey()End SubEnd Module
Korak 3) Kliknite gumb Start na gornjoj traci za pokretanje koda. Trebali biste dobiti sljedeći rezultat:
Evo snimke zaslona koda:
Objašnjenje koda:
- Izrada modula pod nazivom Module1.
- Pokretanje glavnog potprocedura.
- Stvaranje niza s imenom myArray sa skupom od 4 cjelobrojne vrijednosti.
- Stvaranje cjelobrojne varijable pod nazivom item.
- Korištenje varijable item za prevrtanje stavki niza s imenom myArray.
- Ispis predmeta pronađenih u nizu pomoću gornjeg izraza na konzoli.
- Kraj petlje Za svaku.
- Pauziranje prozora konzole neko vrijeme čekajući da korisnik poduzme mjere za zatvaranje prozora.
- Kraj glavnog potprocedura.
- Kraj modula.
Ugniježđeno za petlje
Petlja For Every može se ugnijezditi. To će se dogoditi kada stavimo jednu za svaku petlju u drugu za svaku petlju. Pokažimo to na primjeru.
Korak 1) Stvorite novu aplikaciju konzole.
Korak 2) Upotrijebite sljedeći kod:
Module Module1Sub Main()Dim nums() As Integer = {12, 23, 35}Dim names() As String = {"Guru99", "alice", "antony"}For Each n As Integer In numsFor Each st As String In namesConsole.Write(n.ToString & st & " ")NextNextConsole.ReadKey()End SubEnd Module
Korak 3) Kliknite gumb Start na gornjoj traci da biste izvršili kôd. Trebali biste dobiti sljedeći izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Izrada modula pod nazivom Module1.
- Pokretanje glavnog potprocedura.
- Stvaranje niza pod nazivom nums sa skupom cijelih brojeva.
- Stvaranje niza imena s nizom imena.
- Stvaranje varijable n i njezina upotreba za itiriranje stavki sadržanih u polju nazvanom nums. Ovo je vanjska petlja For Every.
- Stvaranje varijable s imenom st i upotreba za prelazak preko stavki sadržanih u nizu s imenima imena. Ovo je unutarnja petlja Za svaku.
- Kombinirajući predmete iz dva polja. Svaka će se stavka u polju nums kombinirati sa svakom stavkom u polju imena. Funkcija ToString pomaže nam pretvoriti brojeve pročitane iz niza nums u nizove. "" Nam pomaže stvoriti prostor nakon svake kombinacije. Kombinacija je postignuta pomoću & (ampersand).
- Kraj unutarnje Za svaku petlju.
- Kraj vanjske Za svaku petlju.
- Pauzirajte prozor konzole čekajući da korisnik poduzme mjere za njegovo zatvaranje.
- Kraj glavnog potprocedura.
- Kraj modula.
Izađite i nastavite još
Kada koristite naredbu Exit For, izvršenje će ostaviti For For Every
... Sljedeća petlja i kontrola prenijet će se u izjave koje dolaze nakon naredbe Next.Kada koristite naredbu Continue For, kontrola će se prenijeti na sljedeću iteraciju vaše petlje. Pokažimo to na primjeru:
Korak 1) Započnite stvaranjem nove aplikacije konzole.
Korak 2) Upotrijebite sljedeći kod:
Module Module1Sub Main()Dim nums() As Integer ={10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}For Each n As Integer In numsIf n>= 17 And n <= 25 ThenContinue ForEnd IfConsole.Write(n.ToString & " ")If n = 37 ThenExit ForEnd IfNextConsole.ReadKey()End SubEnd Module
Korak 3) Pokrenite kôd klikom na gumb Start na gornjoj traci. Trebali biste dobiti sljedeći rezultat:
Evo snimke zaslona koda:
Objašnjenje koda:
- Stvaranje modula s imenom module1.
- Pokretanje glavnog potprocedura.
- Stvaranje niza pod nazivom nums sa skupom cijelih brojeva.
- Stvarajući varijablu nazvanu n, zatim je koristimo za iteraciju elemenata sadržanih u polju nums.
- Korištenjem uvjeta If ... Tada za provjeru vrijednosti varijable n. Ako je vrijednost između 17 (uključeno 17) i 25 (uključeno 25), iteracija će preskočiti na sljedeću stavku u polju.
- Preskakanje gornjih vrijednosti vrši se ovdje. Ovo je izjava potrebna za izvođenje preskakanja. To znači da se petlja For Every neće izvoditi za preskočene stavke.
- Prekini uvjet If.
- Ispis vrijednosti dobivenih iz polja na konzoli. Funkcija ToString pomaže nam pretvoriti vrijednosti iz brojeva u nizove. "" Će stvoriti razmak nakon svake ispisane vrijednosti.
- Provjera iteracijske varijable n kada je njena vrijednost 37 pomoću uvjeta If ... Then.
- Izlaz iz petlje For Every kad je gornji uvjet istinit, odnosno vrijednost n = 37. To znači da će se iteracija stavki niza zaustaviti.
- Kraj gore navedenog uvjeta If.
- Kraj izjave Za ... Svaka izjava.
- Pauzirajte prozor konzole čekajući da korisnik poduzme mjere za njegovo zatvaranje.
- Kraj glavnog potprocedura.
- Kraj modula.
Sažetak
- Izraz Za svaki koristi se za ponavljanje svake stavke koja se nalazi u zbirci ili nizu.
- Tijekom razvoja možete kombinirati izraze Za svaku s Izlazima za i Nastavak za izraze kako biste kontrolirali kako se vrši ponavljanje.