I denne artikkelen vil vi lære om mens og om … mens du går i C #, hvordan du bruker dem og forskjellen mellom dem.
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 lærer vi å bruke mens løkker i C #.
C # mens sløyfe
Den mens nøkkelordet brukes til å lage mens sløyfe i C #. Syntaksen for mens loop er:
while (test-expression) (// body of while)
Hvordan mens loop fungerer?
- C # mens sløyfe består av en
test-expression
. - Hvis den
test-expression
blir evaluert tiltrue
,- uttalelser i mens loop utføres.
- etter utførelse blir den
test-expression
evaluert på nytt.
- Hvis den
test-expression
blir evaluert tilfalse
, avslutter mens sløyfen.
mens sløyfe Flytskjema
Eksempel 1: while Loop
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); 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
Opprinnelig er verdien på i 1.
Når programmet når while loop-uttalelsen,
- testuttrykket
i <=5
evalueres. Siden jeg er 1 og1 <= 5
ertrue
, utfører den kroppen til mens sløyfen. Her blir linjen skrevet ut på skjermen med Iterasjon 1, og verdien på i økes med 1 til å bli 2. - Nå blir testuttrykket (
i <=5
) evaluert på nytt. Også denne gangen returnerer uttrykkettrue
(2 <= 5), så linjen skrives ut på skjermen og verdien på i økes nå til 3 … - Dette går og mens løkken kjøres til jeg blir 6. På dette tidspunktet vil testuttrykket evaluere til
false
og dermed sløyfen avsluttes.
Eksempel 2: mens loop for å beregne summen av de første 5 naturlige tallene
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) )
Når vi kjører programmet, vil utdataene være:
Sum = 15
Dette programmet beregner summen av de første 5 naturlige tallene.
- Opprinnelig initialiseres verdien av summen til 0.
- På hver iterasjon blir verdien av summen oppdatert til
sum+i
og verdien av i økes med 1. - Når verdien på i når 6, vil testuttrykket
i<=5
returnere falsk og sløyfen avsluttes.
La oss se hva som skjer i det gitte programmet på hver iterasjon.
Opprinnelig var i = 1, sum = 0
Mens løkkekjøringstrinnIterasjon | 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 blir 15.
C # gjør … mens løkke
Den gjør og mens nøkkelordet brukes til å lage en gjør … mens loop. Det ligner på en stundsløyfe, men det er stor forskjell mellom dem.
I mens sløyfe blir tilstanden sjekket før kroppen utføres. Det er stikk motsatt i do … mens loop, dvs. tilstanden blir sjekket etter at kroppen er henrettet.
Dette er grunnen til at kroppen av gjør … mens sløyfen vil utføres minst en gang uavhengig av testuttrykket.
Syntaksen for do … while loop er:
do (// body of do while loop) while (test-expression);
Hvordan fungerer … mens loop fungerer?
- Body of do … mens loop utføres først.
- Deretter
test-expression
blir det evaluert. - Hvis det
test-expression
ertrue
, blir kroppen av sløyfen utført. - Når det
test-expression
erfalse
, gjør … mens sløyfen avsluttes.
gjør … mens du sløyfer flytskjema
Eksempel 3: gjør… mens løkke
using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) )
Når vi kjører programmet, vil utdataene være:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
As we can see, the above program prints the multiplication table of a number (5).
- Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
- Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
- After the execution of the loop’s body, the test expression
i <= 10
is evaluated. In total, the do… while loop will run for 10 times. - Finally, when the value of i is 11, the test-expression evaluates to
false
and hence terminates the loop.
Infinite while and do… while loop
If the test expression in the while and do… while loop never evaluates to false
, the body of loop will run forever. Such loops are called infinite loop.
For example:
Infinite while loop
while (true) (// body of while loop)
Uendelig gjør … mens løkke
do (// body of while loop) while (true);
Den uendelige sløyfen er nyttig når vi trenger en løkke for å kjøre så lenge programmet vårt kjører.
For eksempel, hvis programmet ditt er en animasjon, må du kjøre det hele tiden til det stoppes. I slike tilfeller er en uendelig sløyfe nødvendig for å fortsette å kjøre animasjonen gjentatte ganger.