Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Pogojni stavki omogočajo programu, da izvede različna dejanja na podlagi določenih pogojev. Običajno so napisani v obliki stavka "če-potem", kjer se blok kode izvaja le, če je določen pogoj resničen.

V C# lahko napišete pogojne stavke na različne načine. To vključuje standardne stavke if-else, stavke switch, ternarne operatorje in ničelne ternarne operatorje.

Kako napisati pogojne stavke v C#

Obstajajo različni načini pisanja pogojni stavki v JavaScriptu, Java, C++, Python in drugi jeziki. V C# lahko te izjave začnete vaditi v preprosti konzolni aplikaciji C# v Visual Studio.

Standardna izjava if/else-if/else

Izjava if preizkuša pogoj, ki je ovrednoten kot resničen. Če je pogoj ocenjen kot resničen, se bo koda znotraj bloka izvedla. Sicer pa ne bo.

int starost = 25;

če (starost >= 18)
{
Konzola. WriteLine("Odrasla oseba si.");
}

Dodate lahko dodatne bloke else-if, če želite, da se drug blok kode izvede za drugačen niz pogojev. Blok else se bo zagnal, ko nobeden od prejšnjih pogojev ne bo ocenjen kot resničen.

instagram viewer

int starost = 25;

če (starost >= 18)
{
Konzola. WriteLine("Odrasla oseba si.");
}
drugačeče (starost >= 13)
{
Konzola. WriteLine("Ti si najstnik.");
}
drugače
{
Konzola. WriteLine("Ti si otrok.");
}

V zgornjem primeru je prvi stavek if resničen in zažene prvi blok kode. Če bi bila vrednost spremenljivke starost 15, bi program namesto tega zagnal drugi blok kode. Če bi bila starostna spremenljivka 8, bi program izvajal kodo znotraj bloka else.

Enovrstični stavek if (brez oklepajev)

Če je blok kode, ki ga želite izvesti, sestavljen samo iz ene vrstice, lahko odstranite zavite oklepaje za pogojem if:

če (starost >= 18)
Konzola. WriteLine("Odrasla oseba si.");

To velja tudi za bloke else-if in else:

če (starost >= 18)
Konzola. WriteLine("Odrasla oseba si.");
drugačeče (starost >= 13)
Konzola. WriteLine("Ti si najstnik.");
drugače
Konzola. WriteLine("Ti si otrok.");

Preklopna izjava

A stavek switch v C# je lahko bolj priročen način za organiziranje pogojev, če se želite izogniti uporabi preveč stavkov if.

V stikalo lahko vnesete vrednost za primerjavo z več primeri. Primeri vključujejo možne možnosti, s katerimi bi se lahko ujemala vrednost.

int rezultat = 4;
char razred;

stikalo (rezultat)
{
Ovitek5:
ocena = 'A';
odmor;
Ovitek4:
ocena = 'B';
odmor;
Ovitek3:
ocena = 'C';
odmor;
Ovitek2:
ocena = 'D';
odmor;
Ovitek1:
ocena = 'E';
odmor;
privzeto:
ocena = 'F';
odmor;
}

Konzola. WriteLine("Tvoja ocena je:" + ocena);

Ternarni operater

Ternarni operator je skrajšan način pisanja if-stavka v C#. Sledi tej sintaksi:

stanje? koda, ko je res: koda, ko je napačna

Izjava vključuje pogoj, ki mu sledi vprašaj. Na levi strani dvopičja je koda, ki se bo program izvajala, ko bo pogoj izpolnjen. Na desni strani dvopičja je koda, ki jo bo program zagnal, ko je pogoj napačen.

int rezultat = 49;
var sporočilo = rezultat > 50? "Prestal si!": "Ni ti uspelo!";
Konzola. WriteLine (sporočilo);

Nullable Ternary Operator

Za dodelitev vrednosti spremenljivki, ki je lahko ničelna, lahko uporabite nullable ternarni operator. Uporablja naslednjo sintakso:

var rezultat = vrednost?? privzeta vrednost

Spodnji primer dodeljuje vrednost št spremenljivko za število spremenljivka. Če je spremenljivka num ničelna, bo spremenljivki number namesto tega dodelila privzeto vrednost 0.

int? št = nič;
int število = št?? 0;

Uporaba pogojnih stavkov v C#

S pogojnimi stavki lahko ustvarite aplikacije, ki se lahko odzovejo na določene pogoje. Ko gradite svojo aplikacijo, je pomembno upoštevati tudi druge strukture, ki lahko naredijo vašo kodo učinkovitejšo.