If-Else-Kedja
Vi kan lägga till ytterligare villkor med nyckelordet else if. De extra villkoren utvärderas om de tidigare villkoren inte är uppfyllda.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Låt oss titta på ett exempel med en if else-kedja:
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 programmet ovan kedjade vi villkor med if-else if. Detta kallas villkorskedjning. Det första villkoret value_1 < value_2 utvärderas. Eftersom det är false hoppar programmet till nästa villkor value_1 > value_2 som är true och därför körs dess kodblock och kedjan avslutas.
Huvudegenskapen hos villkorskedjning är att kedjan slutar exekveras så snart ett villkor är uppfyllt.
Titta på följande kod:
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"); } } } }
Även om alla tre villkor är true, slutar det att exekvera vid det första villkoret eftersom det är en kedja.
Nu ska vi försöka skriva det med enkla if-nyckelord utan kedjning:
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 det ovanstående fallet utvärderas varje villkor individuellt och behandlas inte som en del av någon kedja, därför skrivs alla tre satser ut.
Vi kan också lägga till nyckelordet else i slutet av en if-else-kedja, vilket kommer att köras om inget villkor uppfylls:
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"); } } } }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 1.59
If-Else-Kedja
Svep för att visa menyn
Vi kan lägga till ytterligare villkor med nyckelordet else if. De extra villkoren utvärderas om de tidigare villkoren inte är uppfyllda.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Låt oss titta på ett exempel med en if else-kedja:
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 programmet ovan kedjade vi villkor med if-else if. Detta kallas villkorskedjning. Det första villkoret value_1 < value_2 utvärderas. Eftersom det är false hoppar programmet till nästa villkor value_1 > value_2 som är true och därför körs dess kodblock och kedjan avslutas.
Huvudegenskapen hos villkorskedjning är att kedjan slutar exekveras så snart ett villkor är uppfyllt.
Titta på följande kod:
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"); } } } }
Även om alla tre villkor är true, slutar det att exekvera vid det första villkoret eftersom det är en kedja.
Nu ska vi försöka skriva det med enkla if-nyckelord utan kedjning:
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 det ovanstående fallet utvärderas varje villkor individuellt och behandlas inte som en del av någon kedja, därför skrivs alla tre satser ut.
Vi kan också lägga till nyckelordet else i slutet av en if-else-kedja, vilket kommer att köras om inget villkor uppfylls:
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"); } } } }
Tack för dina kommentarer!