If-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
1234567891011121314151617181920212223242526using 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
12345678910111213141516171819202122232425using 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
123456789101112131415161718192021222324252627using 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
1234567891011121314151617181920212223242526using 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"); } } } }
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
If-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
1234567891011121314151617181920212223242526using 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
12345678910111213141516171819202122232425using 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
123456789101112131415161718192021222324252627using 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
1234567891011121314151617181920212223242526using 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"); } } } }
Tak for dine kommentarer!