Tutorial C# IF, Switch, For, While Loop statements [Exemple]
Controlul fluxului ศi instrucศiunile condiศionate
Controlul fluxului ศi instrucศiunile condiศionate sunt disponibile รฎn orice limbaj de programare pentru a modifica fluxul unui program.
De exemplu, dacฤ cineva doreศte sฤ execute doar un anumit set de instrucศiuni bazate pe o anumitฤ logicฤ, atunci controlul fluxului ศi instrucศiunile condiศionate vor fi utile.
Veศi obศine o รฎnศelegere mai bunฤ pe mฤsurฤ ce parcurgem diferitele declaraศii care sunt disponibile รฎn C#.
Vฤ rugฤm sฤ reศineศi cฤ tot codul de mai jos este fฤcut รฎn fiศierul Program.cs.
1) Declaraศia dacฤ
Instrucศiunea if este folositฤ pentru a evalua o expresie booleanฤ รฎnainte de a executa un set de instrucศiuni. Dacฤ o expresie este evaluatฤ la adevฤrat, atunci va rula un set de instrucศiuni, altfel va rula un alt set de instrucศiuni.
รn exemplul nostru de mai jos, se face o comparaศie pentru o variabilฤ numitฤ valoare. Dacฤ valoarea variabilei este mai micฤ de 10, atunci va rula o instrucศiune, sau va rula pe o altฤ instrucศiune.
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 Explicaศie
- Mai รฎntรขi definim o variabilฤ numitฤ valoare ศi o setฤm la valoarea 11.
- Apoi folosim instrucศiunea โdacฤโ pentru a verifica dacฤ valoarea este mai micฤ de 10 a variabilei. Rezultatul va fi fie adevฤrat, fie fals.
- Dacฤ condiศia if se evalueazฤ la adevฤrat, atunci trimitem mesajul โValoarea este mai micฤ de 10โ cฤtre consolฤ.
- Dacฤ condiศia if este falsฤ, trimitem mesajul โValoarea este mai mare decรขt 10โ cฤtre consolฤ.
Dacฤ codul de mai sus este introdus corect ศi programul este executat cu succes, va fi afiศatฤ urmฤtoarea ieศire.
ieศire:
Putem vedea clar cฤ afirmaศia โdacฤโ a fost evaluatฤ drept falsฤ. Prin urmare, mesajul โValoarea este mai mare decรขt 10โ a fost trimis la consolฤ.
2) Declaraศie Switch
Declaraศia switch este o รฎmbunฤtฤศire a instrucศiunii โifโ. Dacฤ aveศi mai multe expresii care trebuie evaluate รฎntr-o singurฤ loviturฤ, atunci scrierea mai multor declaraศii โdacฤโ devine o problemฤ.
Declaraศia switch este folositฤ pentru a evalua o expresie ศi a rula diferite instrucศiuni bazate pe rezultatul expresiei. Dacฤ o condiศie nu este evaluatฤ drept adevฤratฤ, instrucศiunea switch se va muta apoi la urmฤtoarea condiศie ศi aศa mai departe.
Sฤ vedem cum funcศioneazฤ acest lucru cu exemplul de mai jos. Aici, comparฤm din nou valoarea unei variabile numitฤ โvaloareโ. Apoi verificฤm dacฤ valoarea este egalฤ cu 1, sau 2, sau ceva total diferit.
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 Explicaลฃie:-
- Mai รฎntรขi definim o variabilฤ numitฤ โvaloareโ ศi o setฤm la valoarea 11.
- Apoi folosim instrucศiunea โswitchโ pentru a verifica valoarea variabilei โvaloareโ.
- Declaraศiile de caz sunt folosite pentru a stabili condiศii diferite. Pe baza condiศiilor, se poate executa un set de instrucศiuni. O instrucศiune switch poate avea mai multe condiศii de caz. Prima instrucศiune case verificฤ dacฤ valoarea variabilei este egalฤ cu 1.
- Dacฤ prima declaraศie case este adevฤratฤ, atunci mesajul โValoarea este 1โ este scris pe consolฤ.
- Instrucศiunea break este folositฤ pentru a รฎntrerupe รฎntreaga instrucศiune switch, odatฤ ce o condiศie este adevฤratฤ.
- Condiศia implicitฤ este o condiศie specialฤ. Aceasta รฎnseamnฤ doar cฤ, dacฤ nicio expresie case nu este evaluatฤ la adevฤrat, atunci rulaศi setul de instrucศiuni pentru condiศia implicitฤ.
Dacฤ codul de mai sus este introdus corect ศi programul este executat cu succes, va fi afiศatฤ urmฤtoarea ieศire. Ieศirea imprimฤ valoarea implicitฤ โValoarea este diferitฤโ, deoarece nu este รฎndeplinitฤ nicio condiศie.
ieศire:
3) bucla While
Bucla while este folositฤ รฎn scopuri iterative. Sฤ presupunem cฤ dacฤ doriศi sฤ repetaศi un anumit set de instrucศiuni pentru un anumit numฤr de ori, atunci se foloseศte bucla while.
รn exemplul nostru de mai jos, folosim instrucศiunea while pentru a afiศa valoarea unei variabile โiโ. Instrucศiunea while este folositฤ pentru a afiศa valoarea de 3 ori.
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 Explicaลฃie:-
- Douฤ numere รฎntregi variabile sunt definite, unul fiind valoarea ศi celฤlalt fiind โiโ. Variabila valoare este folositฤ ca limitฤ superioarฤ pรขnฤ la care ar trebui sฤ ne repetฤm โโdeclaraศia while. ศi โiโ este variabila care va fi procesatฤ รฎn timpul iteraศiei.
- รn instrucศiunea while, valoarea lui โiโ este verificatฤ constant faศฤ de limita superioarฤ.
- Aici afiศฤm valoarea lui โiโ pe consolฤ. De asemenea, creศtem valoarea lui โiโ.
Dacฤ codul de mai sus este introdus corect ศi programul este executat cu succes, va fi afiศatฤ urmฤtoarea ieศire.
ieศire:
Aici puteศi vedea cฤ instrucศiunea while este executatฤ de 3 ori ศi incrementatฤ รฎn acelaศi timp. ศi de fiecare datฤ, a afiศat valoarea curentฤ a variabilei โiโ.
4) Pentru buclฤ
Bucla โforโ este folositฤ ศi รฎn scopuri iterative. Sฤ presupunem cฤ dacฤ doriศi sฤ repetaศi un anumit set de instrucศiuni pentru un anumit numฤr de ori, atunci este folosit forloop.
รn exemplul nostru de mai jos, folosim instrucศiunea โforโ pentru a afiศa valoarea unei variabile โiโ. Instrucศiunea โforโ este utilizatฤ pentru a afiศa valoarea de 3 ori.
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 Explicaลฃie:-
- Cuvรขntul cheie โforโ este folosit pentru a รฎncepe declaraศia โfor loopโ.
- รn โbucla forโ, definim 3 lucruri. Primul este de a iniศializa valoarea unei variabile, care va fi folositฤ รฎn โbucla forโ.
- Al doilea este de a compara valoarea lui โiโ cu o limitฤ superioarฤ. รn cazul nostru, limita superioarฤ este valoarea lui 3 (i<3).
- รn cele din urmฤ, creศtem valoarea lui โiโ รฎn consecinศฤ.
- Aici afiศฤm valoarea lui โiโ pe consolฤ.
Dacฤ codul de mai sus este introdus corect ศi programul este executat cu succes, va fi afiศatฤ urmฤtoarea ieศire.
ieศire:
Aici puteศi vedea cฤ instrucศiunea โforโ este executatฤ de 3 ori. ศi de fiecare datฤ, a afiศat valoarea curentฤ a variabilei โiโ.








