C# IF-, Switch-, For- en While-lusinstructies [Voorbeelden]

โšก Slimme samenvatting

In C# bepalen voorwaardelijke instructies en lussen de programmastroom door codeblokken uit te voeren of te herhalen op basis van logica. De if-, switch-, while- en for-instructies stellen een programma in staat om efficiรซnt beslissingen te nemen en te itereren.

  • ๐Ÿ”€ Stroomregeling: Voorwaardelijke instructies wijzigen de uitvoeringsvolgorde, zodat een programma alleen de instructies uitvoert die overeenkomen met de logica ervan.
  • โ“ Als-instructie: De if-instructie evalueert een Booleaanse expressie en voert een blok code uit als de expressie waar is en een ander blok als de expressie onwaar is.
  • ๐Ÿ”ข Switch-instructie: De switch-instructie vergelijkt รฉรฉn waarde met meerdere case-labels en gebruikt break om te stoppen zodra een overeenkomst is gevonden.
  • ๐Ÿ” Herhalingslus: De while-lus herhaalt een blok instructies zolang de voorwaarde waar blijft, wat een onbekend aantal herhalingen kan duren.
  • ๐Ÿ”„ For loop: De for-lus initialiseert, test en verhoogt een teller in รฉรฉn regel, ideaal wanneer het aantal herhalingen bekend is.
  • ๐Ÿค– AI-assistentie: GitHub Copilot stelt de logica voor if-, switch- en loop-statements op, terwijl ML.NET dezelfde voorwaarden hergebruikt om machine learning-pipelines te vertakken.

Voorwaardelijke instructies in C#

Flow Control en voorwaardelijke verklaringen

Flow control en voorwaardelijke instructies zijn beschikbaar in elke programmeertaal om de stroom van een programma te wijzigen.

Als iemand bijvoorbeeld alleen een specifieke reeks instructies wil uitvoeren op basis van een bepaalde logica, dan zijn stroombesturing en voorwaardelijke instructies nuttig.

U krijgt een beter begrip als we de verschillende instructies doornemen die beschikbaar zijn in C#.

Houd er rekening mee dat alle onderstaande code naar het Program.cs-bestand is gemaakt.

1) Indien verklaring

De if-instructie wordt gebruikt om een โ€‹โ€‹Booleaanse expressie te evalueren voordat een reeks instructies wordt uitgevoerd. Als een expressie waar is, wordt een bepaalde reeks instructies uitgevoerd; anders wordt een andere reeks instructies uitgevoerd.

In ons onderstaande voorbeeld wordt een vergelijking gemaakt voor een variabele genaamd 'value'. Als de waarde van de variabele kleiner is dan 10, wordt een bepaalde instructie uitgevoerd, anders wordt een andere instructie uitgevoerd.

Als statement

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Uitleg:-

  1. We definiรซren eerst een variabele genaamd waarde en stellen deze in op de waarde 11.
  2. Vervolgens gebruiken we de 'if'-instructie om te controleren of de waarde kleiner is dan 10 van de variabele. Het resultaat zal waar of onwaar zijn.
  3. Als de if-voorwaarde resulteert in waar, sturen we het bericht 'Waarde is minder dan 10' naar de console.
  4. Als de if-voorwaarde false oplevert, sturen we het bericht 'Waarde is groter dan 10' naar de console.

Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven.

Output:

Als statement

We kunnen duidelijk zien dat de 'if'-instructie als onwaar is beoordeeld. Daarom werd het bericht โ€œWaarde is groter dan 10โ€ naar de console verzonden.

2) Schakelverklaring

De switch-instructie is een uitbreiding op de 'if'-instructie. Als je meerdere expressies hebt die in รฉรฉn keer moeten worden geรซvalueerd, wordt het schrijven van meerdere 'if'-statements een probleem.

De switch-instructie wordt gebruikt om een โ€‹โ€‹expressie te evalueren en verschillende instructies uit te voeren op basis van het resultaat van de expressie. Als een voorwaarde niet waar is, gaat de instructie switch naar de volgende voorwaarde, enzovoort.

Laten we eens kijken hoe dit werkt aan de hand van het onderstaande voorbeeld. Hier vergelijken we opnieuw de waarde van een variabele genaamd 'value'. We controleren vervolgens of de waarde gelijk is aan 1, 2 of iets totaal anders.

Switch-instructie

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Uitleg:-

  1. We definiรซren eerst een variabele met de naam 'waarde' en stellen deze in op de waarde 11.
  2. Vervolgens gebruiken we de instructie 'switch' om de waarde van de variabele 'value' te controleren.
  3. Case-statements worden gebruikt om verschillende voorwaarden in te stellen. Op basis van de voorwaarden kan een reeks instructies worden uitgevoerd. Een switch-instructie kan meerdere case-condities hebben. De eerste case-instructie controleert of de waarde van de variabele gelijk is aan 1.
  4. Als de eerste case-instructie waar is, wordt het bericht 'Waarde is 1' naar de console geschreven.
  5. De break-instructie wordt gebruikt om de gehele switch-instructie te verbreken, zodra een voorwaarde waar is.
  6. De standaardvoorwaarde is een speciale voorwaarde. Dit betekent alleen dat als geen enkele case-expressie resulteert in waar, de set instructies voor de standaardvoorwaarde moet worden uitgevoerd.

Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven. De uitvoer drukt de standaardwaarde af "Waarde is anders", aangezien er aan geen enkele voorwaarde is voldaan.

Output:

Switch-instructie

3) While-lus

De while-lus wordt gebruikt voor iteratieve doeleinden. Stel dat je een bepaalde reeks instructies een bepaald aantal keren wilt herhalen, dan wordt while-lus gebruikt.

In ons voorbeeld hieronder gebruiken we de while-instructie om de waarde van een variabele 'i' weer te geven. De while-instructie wordt gebruikt om de waarde 3 keer weer te geven.

Herhalingslus

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Uitleg:-

  1. Twee geheel getal variabelen zijn gedefinieerd, waarbij de ene waarde is en de andere 'ik'. De waardevariabele wordt gebruikt als de bovengrens waarnaar we onze while-instructie moeten herhalen. En 'i' is de variabele die tijdens de iteratie zal worden verwerkt.
  2. In de while-instructie wordt de waarde van 'i' voortdurend gecontroleerd aan de hand van de bovengrens.
  3. Hier geven we de waarde van 'i' weer aan de console. We verhogen ook de waarde van 'i'.

Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven.

Output:

Herhalingslus

Hier ziet u dat de while-statement 3 keer wordt uitgevoerd en tegelijkertijd wordt verhoogd. En elke keer wordt de huidige waarde van de variabele 'i' weergegeven.

4) Voor lus

De 'for'-lus wordt ook gebruikt voor iteratieve doeleinden. Stel dat je een bepaalde reeks instructies een bepaald aantal keren wilt herhalen, dan gebruik je de 'for'-lus.

In ons voorbeeld hieronder gebruiken we de 'for'-instructie om de waarde van een variabele 'i' weer te geven. De 'for'-instructie wordt gebruikt om de waarde 3 keer weer te geven.

For loop

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Uitleg:-

  1. Het trefwoord 'for' wordt gebruikt om de 'for loop'-instructie te starten.
  2. In de 'for-lus' definiรซren we 3 dingen. De eerste is het initialiseren van de waarde van een variabele, die zal worden gebruikt in de 'for-lus'.
  3. De tweede is om de waarde van de 'i' te vergelijken met een bovengrens. In ons geval is de bovengrens de waarde 3 (i<3).
  4. Ten slotte verhogen we de waarde van 'i' dienovereenkomstig.
  5. Hier geven we de waarde van 'i' weer aan de console.

Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven.

Output:

For loop

Hier ziet u dat de 'for'-instructie 3 keer wordt uitgevoerd. En elke keer wordt de huidige waarde van de variabele 'i' weergegeven.

Veelgestelde vragen

De if-instructie behandelt bereiken en complexe Booleaanse voorwaarden, terwijl de switch-instructie รฉรฉn waarde vergelijkt met meerdere vaste labels. Switch is overzichtelijker voor veel discrete waarden, terwijl if-else geschikt is voor bereiken, meerdere variabelen en logische operatoren.

Een geneste if-instructie plaatst de ene if-instructie binnen de andere, waardoor de binnenste voorwaarde alleen wordt getest als de buitenste voorwaarde waar is. Dit stelt een programma in staat om meerdere afhankelijke voorwaarden te controleren, hoewel diepe nesting de leesbaarheid vermindert.

Een while-lus controleert de voorwaarde vรณรณr elke iteratie, waardoor deze mogelijk nul keer wordt uitgevoerd. Een do-while-lus controleert de voorwaarde na de body, waardoor deze altijd minstens รฉรฉn keer wordt uitgevoerd. Dit is handig voor menu's en invoervalidatie.

De `break`-instructie verlaat een lus of switch-statement onmiddellijk, terwijl de `continue`-instructie de rest van de huidige iteratie overslaat en naar de volgende gaat. Beide instructies veranderen de programmalogica, maar alleen `break` beรซindigt de lus volledig.

De ternaire operator ?: is een compacte vorm van if-else. Hij evalueert een voorwaarde, retourneert de eerste waarde wanneer de voorwaarde waar is en de tweede waarde wanneer deze onwaar is, wat resulteert in een beknopte toewijzing op รฉรฉn regel.

Een foreach-lus doorloopt elk element van een verzameling, zoals een array of lijst, zonder dat een index of teller nodig is. Het leest de verzameling veilig en voorkomt veelvoorkomende fouten zoals 'off-by-one' en 'out-of-range'.

Ja. GitHub Copilot suggereert if-, switch-, while- en for-blokken op basis van een opmerking of methodenaam in Visual Studio. VS Code. RevControleer elke suggestie op de juiste voorwaarden en lusgrenzen, aangezien Copilot off-by-one-fouten kan introduceren.

ML.NET-pipelines gebruiken C#-voorwaardelijke instructies om te vertakken op basis van featurewaarden en lussen om over trainingsrijen te itereren. Dezelfde if-, switch- en for-logica bereidt gegevens voor en routeert voorspellingen.ping een sterk getypeerde workflow voor machine learning.

Vat dit bericht samen met: