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 testar vi att 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 fallet ovan 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 if-else-kedjan, 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