Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära If-Else-Kedja | Section
C#-Grunder

bookIf-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

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 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

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

Ä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

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 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

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

Vilka rader kommer att inkluderas i utdata för följande program?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 33

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 33
some-alt