Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære If-Else-Kjede | Kontrollstrukturer
C#-Grunnleggende

bookIf-Else-Kjede

Vi kan legge til flere betingelser ved å bruke nøkkelordet else if. De ekstra betingelsene evalueres dersom de foregående betingelsene ikke er oppfylt.

if (expression) 
{
    // code if first condition is met
}
else if (expression)
{
    // code if second condition is met
} else 
{
    // code if no condition is met
}


La oss se på et eksempel med en if else-kjede:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

I programmet ovenfor har vi lenket betingelser ved hjelp av if-else if. Dette kalles betingelseskjeding. Den første betingelsen value_1 < value_2 evalueres. Siden den er false, hopper programmet til neste betingelse value_1 > value_2 som er true, og dermed utføres denne kodeblokken og kjeden avsluttes.

Hovedtrekket ved betingelseskjeding er at kjeden avsluttes så snart en betingelse er oppfylt.

Vurder følgende kode:

main.cs

main.cs

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Selv om alle tre betingelsene er true, stopper utførelsen ved den første betingelsen siden det er en kjede.

La oss nå prøve å skrive det ved å bruke enkle if-nøkkelord uten kjeding:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

I eksempelet ovenfor blir hver betingelse evaluert individuelt og ikke behandlet som en del av en kjede, derfor blir alle tre utsagnene skrevet ut.

Vi kan også legge til nøkkelordet else på slutten av en if-else-kjede, som vil bli utført dersom ingen betingelser er oppfylt:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
question mark

Hvilke linjer vil bli inkludert i utdataene fra følgende program?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 9

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 1.59

bookIf-Else-Kjede

Sveip for å vise menyen

Vi kan legge til flere betingelser ved å bruke nøkkelordet else if. De ekstra betingelsene evalueres dersom de foregående betingelsene ikke er oppfylt.

if (expression) 
{
    // code if first condition is met
}
else if (expression)
{
    // code if second condition is met
} else 
{
    // code if no condition is met
}


La oss se på et eksempel med en if else-kjede:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

I programmet ovenfor har vi lenket betingelser ved hjelp av if-else if. Dette kalles betingelseskjeding. Den første betingelsen value_1 < value_2 evalueres. Siden den er false, hopper programmet til neste betingelse value_1 > value_2 som er true, og dermed utføres denne kodeblokken og kjeden avsluttes.

Hovedtrekket ved betingelseskjeding er at kjeden avsluttes så snart en betingelse er oppfylt.

Vurder følgende kode:

main.cs

main.cs

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Selv om alle tre betingelsene er true, stopper utførelsen ved den første betingelsen siden det er en kjede.

La oss nå prøve å skrive det ved å bruke enkle if-nøkkelord uten kjeding:

main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

I eksempelet ovenfor blir hver betingelse evaluert individuelt og ikke behandlet som en del av en kjede, derfor blir alle tre utsagnene skrevet ut.

Vi kan også legge til nøkkelordet else på slutten av en if-else-kjede, som vil bli utført dersom ingen betingelser er oppfylt:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
question mark

Hvilke linjer vil bli inkludert i utdataene fra følgende program?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 9
some-alt