C # för loop (med exempel)

I den här artikeln kommer vi att lära oss om för loop i C # och olika sätt att använda dem i ett program.

Vid programmering är det ofta önskvärt att utföra vissa block av uttalanden för ett visst antal gånger. En möjlig lösning kommer att vara att skriva dessa uttalanden för det antal gånger som krävs. Antalet repetitioner kanske dock inte är känt i förväg (under kompileringstiden) eller kanske tillräckligt stort (säg 10000).

Den bästa lösningen på ett sådant problem är loop. Slingor används vid programmering för att upprepade gånger utföra ett visst påstående tills några villkor är uppfyllda.

I den här artikeln tittar vi på loop i C #.

C # för slinga

Den för sökord används för att skapa för loop i C #. Syntaxen för for loop är:

 för (initialisering; villkor; iterator) (// body of for loop) 

Hur fungerar loop?

  1. C # för slinga har tre uttalanden: initialization, conditionoch iterator.
  2. Den initializationsatsen körs först och endast en gång. Här deklareras och initialiseras variabeln vanligtvis.
  3. Därefter conditionutvärderas den. Det conditionär ett booleskt uttryck, dvs det returnerar antingen trueeller false.
  4. Om conditionutvärderas till true:
    1. Uttalandena inuti for loop körs.
    2. Därefter iteratorkörs uttalandet som vanligtvis ändrar värdet på den initialiserade variabeln.
    3. Återigen conditionutvärderas.
    4. Processen fortsätter tills conditionutvärderas till false.
  5. Om den conditionutvärderas till falseavslutas for-slingan.

för Loop Flowchart

Exempel 1: C # för 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 kör programmet blir resultatet:

 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

I detta program,

  • initialization uttalande är int i=1
  • condition uttalande är i<=5
  • iterator uttalande är i++

När programmet körs,

  • Först deklareras variabeln i och initialiseras till 1.
  • Därefter i<=5utvärderas villkoret ( ).
  • Eftersom villkoret återgår true, kör programmet sedan kroppen för for-slingan. Den skriver ut den angivna raden med Iteration 1 (Iteration betyder helt enkelt repetition).
  • Nu i++utvärderas iteratorn ( ). Detta ökar värdet i till 2.
  • Villkoret ( i<=5) utvärderas igen och i slutet ökas värdet på i med 1. Villkoret utvärderas till trueför de första fem gånger.
  • När värdet på i kommer att vara 6 och villkoret kommer att vara false, kommer därför slingan att avslutas.

Exempel 2: för loop för att beräkna summan av första n naturliga tal

 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 kör programmet blir resultatet:

 Summan av de första 5 naturliga siffrorna = 15

Här initialiseras värdet på summan och n till 0 respektive 5. Iterationsvariabeln i initialiseras till 1 och ökas för varje iteration.

Inuti for-slingan ökas summan av i ie sum = sum + i. For-slingan fortsätter tills i är mindre än eller lika med n (användarens ingång).

Låt oss se vad som händer i det givna programmet på varje iteration.

Ursprungligen var i = 1, summen = 0 och n = 3

För loopkörningssteg
Iteration Värdet på i jag <= 5 Summan
1 1 Sann 0 + 1 = 1
2 2 Sann 1 + 2 = 3
3 3 Sann 3 + 3 = 6
4 4 Sann 6 + 4 = 10
5 5 Sann 10 + 5 = 15
6 6 falsk Loop avslutas

Så det slutliga värdet av summan blir 15 när n = 5.

Flera uttryck inuti en for-loop

Vi kan också använda flera uttryck i en for-loop. Det betyder att vi kan ha mer än en initialisering och / eller iteratoruttalanden inom en for-loop. Låt oss se exemplet nedan.

Exempel 3: för loop med flera initialiserings- och iteratoruttryck

 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 kör programmet blir resultatet:

 i = 0 och j = 0 i = 1 och j = 1 i = 2 och j = 2

I detta program har vi deklarerat och initialiserat två variabler: i och j i initialiseringsuttalandet.

Vi har också två uttryck i iteratordelen. Det betyder att både i och j ökas med 1 för varje iteration.

För loop utan initialisering och iteratoruttalanden

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.

På samma sätt är villkoret också ett frivilligt uttalande. Men om vi inte använder testuttryck testar inte for-slingan något tillstånd och körs för alltid (oändlig slinga).

Oändlig för loop

Om villkoret i en for-loop alltid är sant, kommer loop för alltid att fungera. Detta kallas oändlig för loop.

Exempel 5: Oändlig för loop

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

Här initialiseras jag till 1 och villkoret är i>0. Vid varje iteration ökar vi värdet på i med 1, så villkoret kommer aldrig att vara false. Detta gör att slingan körs oändligt.

Vi kan också skapa en oändlig slinga genom att ersätta villkoret med ett tomt. Till exempel,

 för (;;) (// body of for loop) 

eller

 för (initialisering;; iterator) (// body of for loop) 

Intressanta artiklar...