Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Uvjetne naredbe omogućuju programu izvođenje različitih radnji na temelju određenih uvjeta. Obično su napisani u obliku izjave "ako-onda", gdje se blok koda izvodi samo ako je određeni uvjet istinit.

U C# postoje različiti načini na koje možete pisati uvjetne naredbe. To uključuje standardne if-else izjave, switch izjave, ternarne operatore i ternarne operatore s mogućnošću nulliranja.

Kako napisati uvjetne naredbe u C#

Postoje različiti načini pisanja uvjetne izjave u JavaScriptu, Java, C++, Python i drugi jezici. U C#, možete početi vježbati ove izjave u jednostavnoj C# konzolnoj aplikaciji u Visual Studiju.

Standardna naredba if/else-if/else

If-naredba testira uvjet koji se procjenjuje kao istinit. Ako se uvjet ocijeni istinitim, kod unutar bloka će se izvršiti. Inače, neće.

int dob = 25;

ako (dob >= 18)
{
Konzola. WriteLine(– Ti si punoljetan.);
}

Možete dodati dodatne else-if blokove ako želite da se drugi blok koda izvrši za drugačiji skup uvjeta. Blok else će se pokrenuti kada nijedan od prethodnih uvjeta ne bude istinit.

instagram viewer

int dob = 25;

ako (dob >= 18)
{
Konzola. WriteLine(– Ti si punoljetan.);
}
drugoako (dob >= 13)
{
Konzola. WriteLine(– Ti si tinejdžer.);
}
drugo
{
Konzola. WriteLine("Ti si dijete.");
}

U gornjem primjeru, prva izjava if je istinita i pokreće prvi blok koda. Ako je vrijednost varijable dobi 15, program bi umjesto toga pokrenuo drugi blok koda. Da je varijabla starosti 8, program bi pokrenuo kod unutar bloka else.

Jednoredni if ​​iskaz (bez zagrada)

Ako se blok koda koji želite izvršiti sastoji samo od jednog retka, možete ukloniti vitičaste zagrade nakon if uvjeta:

ako (dob >= 18)
Konzola. WriteLine(– Ti si punoljetan.);

Ovo se također odnosi na else-if i else blokove:

ako (dob >= 18)
Konzola. WriteLine(– Ti si punoljetan.);
drugoako (dob >= 13)
Konzola. WriteLine(– Ti si tinejdžer.);
drugo
Konzola. WriteLine("Ti si dijete.");

Izjava o prebacivanju

A naredba switch u C# može biti prikladniji način organiziranja uvjeta ako želite izbjeći korištenje previše if naredbi.

U prekidaču možete unijeti vrijednost za usporedbu s više slučajeva. Slučajevi uključuju moguće opcije kojima bi vrijednost mogla odgovarati.

int rezultat = 4;
char razred;

sklopka (postići)
{
slučaj5:
ocjena = 'A';
pauza;
slučaj4:
ocjena = 'B';
pauza;
slučaj3:
ocjena = 'C';
pauza;
slučaj2:
ocjena = 'D';
pauza;
slučaj1:
ocjena = 'E';
pauza;
zadano:
ocjena = 'F';
pauza;
}

Konzola. WriteLine("Vaša ocjena je: " + ocjena);

Ternarni operator

Ternarni operator je skraćeni način pisanja if-naredbe u C#. Slijedi ovu sintaksu:

stanje? kod kada je istina: kod kada je laž

Izjava uključuje uvjet, iza kojeg slijedi upitnik. Na lijevoj strani dvotočke nalazi se kod koji će se program pokrenuti kada je uvjet istinit. Desno od dvotočke nalazi se kod koji će program pokrenuti kada je uvjet lažan.

int rezultat = 49;
var poruka = ​​rezultat > 50? "Prošao si!": "Pogriješio si!";
Konzola. WriteLine (poruka);

Nullable Ternarni operator

Možete koristiti nullable ternarni operator za dodjelu vrijednosti varijabli koja može biti null. Koristi sljedeću sintaksu:

var rezultat = vrijednost?? defaultValue

Primjer u nastavku dodjeljuje vrijednost br varijabla za broj varijabla. Ako je varijabla num null, dodijelit će zadanu vrijednost 0 varijabli number umjesto toga.

int? broj = ništavan;
int broj = broj?? 0;

Korištenje uvjetnih naredbi u C#

Možete koristiti uvjetne izjave za stvaranje aplikacija koje mogu odgovoriti na specifične uvjete. Kada gradite svoju aplikaciju, također je važno razmotriti druge strukture koje vaš kod mogu učiniti učinkovitijim.