Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære If-Else Kæde | Kontrolstrukturer
C# Grundlæggende

bookIf-Else Kæde

Vi kan tilføje yderligere betingelser ved at bruge nøgleordet else if. De ekstra betingelser evalueres, hvis de foregående betingelser ikke er opfyldt.

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


Overvej et eksempel med en if else-kæde:

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 ovenstående program kædede vi betingelser sammen ved hjælp af if-else if. Dette kaldes betinget kædning. Den første betingelse value_1 < value_2 evalueres. Da den er false, springer programmet videre til næste betingelse value_1 > value_2, som er true, og derfor udføres dens kodeblok, hvorefter kæden ikke evalueres yderligere.

Hovedegenskaben ved betinget kædning er, at udførelsen stopper, så snart en betingelse er opfyldt.

Overvej 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"); } } } }

Selvom alle tre betingelser er true, stopper udførelsen ved den første betingelse, da det er en kæde.

Lad os nu prøve at skrive det ved hjælp af simple if-nøgleord uden kædning:

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 ovenstående tilfælde evalueres hver betingelse individuelt og behandles ikke som en del af en kæde, derfor udskrives alle tre udsagn.

Vi kan også tilføje nøgleordet else i slutningen af if-else-kæden, som vil blive udført, hvis ingen betingelse er opfyldt:

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 blive inkluderet i outputtet af følgende program?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 9

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

Can you explain the difference between using chained if-else and separate if statements?

Can you provide more examples of conditional chaining?

What happens if none of the conditions in the if-else chain are true?

Awesome!

Completion rate improved to 1.59

bookIf-Else Kæde

Stryg for at vise menuen

Vi kan tilføje yderligere betingelser ved at bruge nøgleordet else if. De ekstra betingelser evalueres, hvis de foregående betingelser ikke er opfyldt.

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


Overvej et eksempel med en if else-kæde:

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 ovenstående program kædede vi betingelser sammen ved hjælp af if-else if. Dette kaldes betinget kædning. Den første betingelse value_1 < value_2 evalueres. Da den er false, springer programmet videre til næste betingelse value_1 > value_2, som er true, og derfor udføres dens kodeblok, hvorefter kæden ikke evalueres yderligere.

Hovedegenskaben ved betinget kædning er, at udførelsen stopper, så snart en betingelse er opfyldt.

Overvej 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"); } } } }

Selvom alle tre betingelser er true, stopper udførelsen ved den første betingelse, da det er en kæde.

Lad os nu prøve at skrive det ved hjælp af simple if-nøgleord uden kædning:

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 ovenstående tilfælde evalueres hver betingelse individuelt og behandles ikke som en del af en kæde, derfor udskrives alle tre udsagn.

Vi kan også tilføje nøgleordet else i slutningen af if-else-kæden, som vil blive udført, hvis ingen betingelse er opfyldt:

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 blive inkluderet i outputtet af følgende program?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 9
some-alt