mandag, august 20, 2007

Betingelser(If, Else, Switch og case)

Om Betingelser

At sætte betingelser op i sin kode er noget som man kommer til at bruge næsten hele tiden. F.eks. hvis det er mandag skal man bruge den baggrund, ellers skal man bruge en standard baggrund. Det kan også være man vil teste på, om den bruger der er logget ind på dit website er administrator, og hvis han er, skal han selvfølgelig videre ind på en administrator side.

If/else betingelsen

Betingelser er en af de lettere ting at lære i C#, da de er lette at forstå. Hvis vi starter med en simpel betingelse.

if (Brugerrettighed == "Administrator")
{
//kode der sender ham videre til en administrator side.
}
else
{
//kode der sender ham ind på en almindelig brugerside
}

Som man kan se er det faktisk ligetil at forstå. If betyder Hvis og det der står her er, Hvis brugeren status er administrator, skal han ind på administratorsiden. Såre simpelt.

Man kan mere eller mindre sætte alle betingelser op som man lyster. Hvis nu der skal være flere valgmuligheder kan man imellem if og else skrive Elseif. På den måde kan man sætte ligeså mange muligheder op man ville.

Switch/Case betingelsen

Selvom ElseIf er god at have, er den noget upraktisk. Forestil dig at du skal teste på 10 betingelser. Det ville kræve ikke så lidt uoverkuelig kode, så når man har mere end 1 betingelse at teste efter, bruger man en anden metode som hedder Switch/case. Måden den fungerer på er meget lig If og Else, men med en væsentlig forskel. Den kræver mindre kode. Her er et eks:

Switch (Brugerstatus)
{
case administrator
//kode der sender til adminsiden
break;
case VipBruger
//kode der sender til Vip bruger siden
Break;
Case AlmBruger
//Kode der sender til den almindelige brugerside
Break;
default:
//kode der udføres hvis ingen af de andre betingelser er sande.
Break;
}

Læg mærke til vi bruger keywordet Break for at fortælle, at nu har vi fundet og udført det stykke kode der skal bruges, og så vil vi gerne videre med vores kode. Så vidt jeg husker, får man en kompile fejl hvis man udelukker break, men jeg er ikke sikker på man ikke kan bruge Continue til at fortsætte med at teste efter de andre muligheder bagefter.

Afslutning

Som man kan se, er If strukturen den nemmeste at bruge hvis man kun har en betingelse. Den har også flere muligheder, da betingelsen man tester efter, kan være af næsten hvilken som helst form. Switch er mere brugt hvis man tester efter en masse simple ting, som f.eks. et navn eller et tal, da det giver et meget bedre overblik i din kode. Man kan dog bruge begge muligheder som man har lyst til, og jeg mener ikke det giver nogen væsentlig hastighedsforskel.

God kodelyst

Ingen kommentarer: