C# IF-, Switch-, For- ja While-tsükli laused [Näited]

⚡ Nutikas kokkuvõte

C# tingimuslaused ja tsüklid kontrollivad programmi voogu, käivitades või korrates loogikal põhinevaid koodiplokke. if-, switch-, while- ja for-laused võimaldavad programmil otsuseid langetada ja tõhusalt itereerida.

  • 🔀 Voolu juhtimine: Tingimuslaused muudavad täitmisjärjekorda nii, et programm käivitab ainult need laused, mis vastavad selle loogikale.
  • Kui avaldus: if-lause hindab Boole'i ​​avaldist ja käivitab ühe ploki, kui see on tõene, ja teise, kui see on väär.
  • 🔢 Lülituse avaldus: Lülitilause `switch` võrdleb ühte väärtust mitme juhtumi sildiga ja kasutab `break` funktsiooni, et peatada toiming pärast vaste leidmist.
  • 🔁 Kuigi tsükkel: While tsükkel kordab lauseplokki seni, kuni selle tingimus jääb tõeseks, mis sobib tundmatu arvu iteratsioonide korral.
  • 🔄 Tsükli jaoks: For-tsükkel initsialiseerib, testib ja suurendab loenduri väärtust ühel real, mis on ideaalne juhul, kui korduste arv on teada.
  • 🤖 AI abi: GitHub Copilot mustandib if-, switch- ja tsükkelloogikat, samas kui ML.NET kasutab samu tingimusi masinõppe torujuhtmete hargnemiseks.

C# tingimuslaused

Voo juhtimine ja tingimuslaused

Voo juhtimine ja tingimuslaused on saadaval igas programmeerimiskeeles, et muuta programmi voogu.

Näiteks kui keegi soovib teatud loogika alusel käivitada ainult teatud lausete komplekti, siis on kasulikud voo juhtimise ja tingimuslaused.

Saate parema arusaama, kui vaatame läbi erinevaid C#-s saadaval olevaid avaldusi.

Pange tähele, et kogu allolev kood on tehtud faili Program.cs jaoks.

1) Kui väide

if-lauset kasutatakse Boole'i ​​avaldise hindamiseks enne lausekomplekti käivitamist. Kui avaldis hindab väärtuseks tõene, siis käivitatakse üks lausekomplekt, vastasel juhul käivitatakse teine ​​lausekomplekt.

Allolevas näites tehakse võrdlus muutuja nimega väärtus abil. Kui muutuja väärtus on väiksem kui 10, siis käivitatakse üks või teine ​​lause.

Kui avaldus

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 Selgitus:-

  1. Esmalt määratleme muutuja nimega väärtus ja määrame selle väärtuseks 11.
  2. Seejärel kasutame lauset "if", et kontrollida, kas muutuja väärtus on väiksem kui 10. Tulemus on kas tõene või vale.
  3. Kui tingimuse if väärtus on tõene, saadame konsoolile teate "Väärtus on väiksem kui 10".
  4. Kui tingimuse kui väärtuseks on väär, saadame konsoolile teate "Väärtus on suurem kui 10".

Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.

Väljund:

Kui avaldus

Näeme selgelt, et kui-lause hinnati vääraks. Seetõttu saadeti konsooli teade "Väärtus on suurem kui 10".

2) Lüliti avaldus

Switch-lause on 'if'-lause täiendus. Kui teil on mitu avaldist, mida tuleb ühe pildiga hinnata, muutub probleemiks mitme „kui”-lause kirjutamine.

Switch-lauset kasutatakse avaldise hindamiseks ja erinevate avalduste käitamiseks avaldise tulemuse põhjal. Kui ühe tingimuse väärtus ei ole tõene, liigub lülitilause järgmisele tingimusele ja nii edasi.

Vaatame alloleva näite abil, kuidas see toimib. Siin võrdleme jälle muutuja nimega 'väärtus' väärtust. Seejärel kontrollime, kas väärtus on võrdne 1, 2 või millegi täiesti erinevaga.

Lüliti avaldus

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 Selgitus:-

  1. Esmalt määratleme muutuja nimega "value" ja määrame selle väärtuseks 11.
  2. Seejärel kasutame muutuja 'value' väärtuse kontrollimiseks käsku 'switch'.
  3. Juhtumiavaldusi kasutatakse erinevate tingimuste seadmiseks. Tingimustest lähtuvalt saab täita lausete komplekti. Switch-lausel võib olla mitu käändetingimust. Esimene juhtumilause kontrollib, kas muutuja väärtus on võrdne 1-ga.
  4. Kui esimene juhtum on tõene, kirjutatakse konsooli teade "Väärtus on 1".
  5. Kui tingimus on tõene, kasutatakse katkestuslauset katkestamiseks kogu lülitilausest.
  6. Vaikimisi tingimus on eritingimus. See tähendab lihtsalt seda, et kui ükski käändeavaldis ei hinda tõeseks, siis käivitage vaiketingimuse lausete komplekt.

Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund. Väljund prindib vaikeväärtuse "Väärtus on erinev", kuna ükski tingimus pole täidetud.

Väljund:

Lüliti avaldus

3) Kuigi silmus

While-tsüklit kasutatakse iteratiivsetel eesmärkidel. Oletame, et kui soovite korrata teatud lausete komplekti teatud arv kordi, siis tsüklit kasutatakse.

Allolevas näites kasutame muutuja 'i' väärtuse kuvamiseks lauset while. Väärtuse kuvamiseks 3 korda kasutatakse lauset while.

Kuigi silmus

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 Selgitus:-

  1. Kaks täisarvu muutujad on määratletud, millest üks on väärtus ja teine ​​'i'. Väärtuse muutujat kasutatakse ülemise piirina, milleni peaksime oma while-lauset kordama. Ja "i" on muutuja, mida iteratsiooni ajal töödeldakse.
  2. While-lauses kontrollitakse i väärtust pidevalt ülempiiri suhtes.
  3. Siin kuvame konsooli 'i' väärtuse. Suurendame ka 'i' väärtust.

Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.

Väljund:

Kuigi silmus

Siin näete, et while-lause täidetakse 3 korda ja suurendatakse samal ajal. Ja iga kord kuvas see muutuja 'i' praeguse väärtuse.

4) Silmuse jaoks

'For' tsüklit kasutatakse ka iteratiivsetel eesmärkidel. Oletame, et kui soovite teatud lausete komplekti teatud arv kordi korrata, siis kasutatakse for tsüklit.

Allolevas näites kasutame muutuja i väärtuse kuvamiseks lauset 'for'. Lauset "for" kasutatakse väärtuse kuvamiseks 3 korda.

Silmuse jaoks

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 Selgitus:-

  1. Märksõna 'for' kasutatakse lause 'for loop' alustamiseks.
  2. Silmuses 'for' määratleme 3 asja. Esimene on muutuja väärtuse lähtestamine, mida kasutatakse tsüklis "for".
  3. Teine on 'i' väärtuse võrdlemine ülempiiriga. Meie puhul on ülempiir väärtus 3 (i<3).
  4. Lõpuks suurendame vastavalt 'i' väärtust.
  5. Siin kuvame konsooli 'i' väärtuse.

Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.

Väljund:

Silmuse jaoks

Siin näete, et lauset "for" täidetakse 3 korda. Ja iga kord kuvas see muutuja 'i' praeguse väärtuse.

KKK

if-lause käsitleb vahemikke ja keerulisi Boole'i ​​tingimusi, samas kui switch-lause võrdleb ühte väärtust mitme fikseeritud suur- ja väiketähtega. Switch on puhtam paljude diskreetsete väärtuste puhul, samas kui if-else sobib vahemike, mitme muutuja ja loogiliste operaatorite jaoks.

Pesastatud if-lause paigutab ühe if-lause teise sisse, seega sisemist tingimust testitakse ainult siis, kui välimine tingimus on tõene. See võimaldab programmil kontrollida mitut sõltuvat tingimust, kuigi sügav pesastamine vähendab loetavust.

While tsükkel testib oma tingimust enne iga iteratsiooni, seega võib see käivituda null korda. Do-while tsükkel testib tingimust pärast sisu, seega käivitub see alati vähemalt üks kord, mis sobib menüüde ja sisendi valideerimisega.

Lause „break“ väljub tsüklist või lülituskäsklusest koheselt, samas kui lause „continue“ jätab vahele ülejäänud praeguse iteratsiooni ja liigub järgmise juurde. Mõlemad muudavad voogu, kuid ainult lause „break“ lõpetab tsükli täielikult.

Kolmekomponentne operaator ?: on if-else operaatori kompaktne vorm. See hindab tingimust, tagastab esimese väärtuse, kui tingimus on tõene, ja teise väärtuse, kui see on väär, luues lühikese üherealise omistusoperatsiooni.

Foreach-tsükkel käib läbi iga kollektsiooni elemendi, näiteks massiivi või loendi, ilma indeksi või loendurita. See loeb kollektsiooni turvaliselt ja ennetab levinud „ühekordne viga“ ja „vahemikust väljas“ vigu.

Jah. GitHub Copilot soovitab Visual Studios kommentaari või meetodi nime põhjal plokke if, switch, while ja for. VS Code. RevVaadake iga soovitust õigete tingimuste ja tsükli piiride osas, kuna Copilot võib tekitada ükshaaval vigu.

ML.NET torujuhtmed kasutavad C# tingimuslauseid tunnusväärtuste hargnemiseks ja tsüklite abil treeningridade itereerimiseks. Sama if-, switch- ja for-loogika valmistab ette andmeid ja marsruutide ennustusi, keeping tugevalt tüübitud masinõppe töövoog.

Võta see postitus kokku järgmiselt: