C # for loop (med eksempler)

I denne artikkelen vil vi lære om for loop i C # og forskjellige måter å bruke dem i et program.

I programmeringen er det ofte ønsket å utføre visse utsagnblokker for et spesifisert antall ganger. En mulig løsning vil være å skrive disse utsagnene for det nødvendige antall ganger. Imidlertid er antall repetisjoner kanskje ikke kjent på forhånd (i løpet av kompileringstiden) eller kanskje stort nok (si 10000).

Den beste løsningen på et slikt problem er loop. Sløyfer brukes i programmering for å utføre gjentatte ganger en viss setningsblokk til noen vilkår er oppfylt.

I denne artikkelen ser vi på loop i C #.

C # for løkke

Den for nøkkelordet brukes til å skape for loopen i C #. Syntaksen for for loop er:

 for (initialisering; tilstand; iterator) (// body of for loop) 

Hvordan fungerer loop?

  1. C # for loop har tre uttalelser: initialization, conditionog iterator.
  2. Den initializationsetningen utføres ved første og eneste gang. Her blir variabelen vanligvis deklarert og initialisert.
  3. Deretter blir den conditionevaluert. Det conditioner et boolsk uttrykk, dvs. det returnerer enten trueeller false.
  4. Hvis den conditionblir evaluert til true:
    1. Uttalelsene inne i for loop utføres.
    2. Deretter iteratorkjøres setningen som vanligvis endrer verdien på den initialiserte variabelen.
    3. Igjen conditionblir det evaluert.
    4. Prosessen fortsetter til den conditioner evaluert til false.
  5. Hvis den conditionblir evaluert til false, avsluttes for loop.

for Loop Flowchart

Eksempel 1: C # for Loop

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Når vi kjører programmet, vil utdataene være:

 C # For Loop: Iterasjon 1 C # For Loop: Iterasjon 2 C # For Loop: Iterasjon 3 C # For Loop: Iterasjon 4 C # For Loop: Iterasjon 5

I dette programmet,

  • initialization uttalelse er int i=1
  • condition uttalelse er i<=5
  • iterator uttalelse er i++

Når programmet kjører,

  • Først blir variabelen i erklært og initialisert til 1.
  • Deretter blir tilstanden ( i<=5) evaluert.
  • Siden tilstanden kommer tilbake true, utfører programmet deretter kroppen til for loop. Den skriver den gitte linjen med Iterasjon 1 (Iterasjon betyr ganske enkelt repetisjon).
  • Nå blir iteratoren ( i++) evaluert. Dette øker verdien av i til 2.
  • Tilstanden ( i<=5) blir evaluert igjen, og på slutten økes verdien av i med 1. Tilstanden vil evalueres til truefor de første 5 gangene.
  • Når verdien av i vil være 6 og tilstanden vil være false, vil sløyfen derfor avsluttes.

Eksempel 2: for løkke for å beregne summen av første n naturlige tall

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) ) 

Når vi kjører programmet, vil utdataene være:

 Summen av de 5 første naturlige tallene = 15

Her initialiseres verdien av sum og n til henholdsvis 0 og 5. Iterasjonsvariabelen i initialiseres til 1 og økes for hver iterasjon.

Inne i for loop økes verdien av summen av i ie sum = sum + i. For-løkken fortsetter til i er mindre enn eller lik n (brukerens inngang).

La oss se hva som skjer i det gitte programmet på hver iterasjon.

Opprinnelig var i = 1, sum = 0 og n = 3

For løkkekjøringstrinn
Iterasjon Verdien av i jeg <= 5 Verdien av summen
1 1 ekte 0 + 1 = 1
2 2 ekte 1 + 2 = 3
3 3 ekte 3 + 3 = 6
4 4 ekte 6 + 4 = 10
5 5 ekte 10 + 5 = 15
6 6 falsk Loop slutter

Så den endelige verdien av summen vil være 15 når n = 5.

Flere uttrykk i en for loop

Vi kan også bruke flere uttrykk i en for loop. Det betyr at vi kan ha mer enn én initialiserings- og / eller iteratoruttalelse i en for-loop. La oss se eksemplet nedenfor.

Eksempel 3: for loop med flere initialiserings- og iteratoruttrykk

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) ) 

Når vi kjører programmet, vil utdataene være:

 i = 0 og j = 0 i = 1 og j = 1 i = 2 og j = 2

I dette programmet har vi deklarert og initialisert to variabler: i og j i initialiseringserklæringen.

Vi har også to uttrykk i iterator-delen. Det betyr at både i og j økes med 1 på hver iterasjon.

For loop uten initialisering og iteratoruttalelser

The initialization, condition and the iterator statement are optional in a for loop. It means we can run a for loop without these statements as well.

In such cases, for loop acts as a while loop. Let's see the example below.

Example 4: for loop without initialization and iterator statement

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; i<=5; ) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

When we run the program, the output will be:

 C# For Loop: Iteration 1 C# For Loop: Iteration 2 C# For Loop: Iteration 3 C# For Loop: Iteration 4 C# For Loop: Iteration 5

In this example, we haven't used the initialization and iterator statement.

The variable i is initialized above the for loop and its value is incremented inside the body of loop. This program is same as the one in Example 1.

Tilsvarende er også en valgfri uttalelse. Men hvis vi ikke bruker testuttrykk, vil ikke for loop teste noen tilstand og vil kjøre for alltid (uendelig loop).

Uendelig for løkke

Hvis tilstanden i en for-løkke alltid er sant, vil løkken løpe for alltid. Dette kalles uendelig for løkke.

Eksempel 5: Uendelig for løkke

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) ) 

Her initialiseres jeg til 1 og tilstanden er i>0. På hver iterasjon øker vi verdien av i med 1, så tilstanden vil aldri være false. Dette vil føre til at løkken utføres uendelig.

Vi kan også lage en uendelig løkke ved å erstatte tilstanden med et tomt. For eksempel,

 for (;;) (// body of for loop) 

eller

 for (initialisering;; iterator) (// body of for loop) 

Interessante artikler...