Tässä artikkelissa opit käyttämään, jos, jos… muuta, jos … muuta if-lausetta C #: ssa, ohjaamaan ohjelmamme suorituksen kulkua.
Ehdon testaaminen on väistämätöntä ohjelmoinnissa. Me kohtaamme usein tilanteita, joissa meidän on testattava olosuhteita (onko se true
tai ei false
) ohjataksesi ohjelman kulkua. Näihin olosuhteisiin voi vaikuttaa käyttäjän panos, aikakerroin, nykyinen ympäristö, jossa ohjelma on käynnissä, jne.
Tässä artikkelissa opitaan testaamaan olosuhteita käyttämällä if-lausetta C #: ssä.
C # if (jos-sitten) -lauseke
C # if-then -lauseke suorittaa koodilohkon, jos annettu ehto on totta. C-# if-then-lauseen syntakse on:
if (looginen lauseke) (// lausunnot suoritetaan, jos looginen lauseke on totta)
- Boolen lauseke palauttaa joko tosi tai
false
. - Jos looginen lauseke palaa
true
, ruudun sisällä olevat lausekkeet if (sisällä(… )
) suoritetaan. - Jos looginen lauseke palaa
false
, if-rungon sisällä olevat lauseet ohitetaan.
Esimerkiksi,
jos (luku <5) (luku + = 5;)
Tässä esimerkissä lausunto
luku + = 5;
suoritetaan vain, jos luvun arvo on alle 5.
Muistatko operaattorin + =?
Miten lausunto toimii?
Esimerkki 1: C # if -lauseke
using System; namespace Conditional ( class IfStatement ( public static void Main(string() args) ( int number = 2; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Kun suoritamme ohjelmaa, tulos on:
2 on alle 5 Tämä käsky suoritetaan aina.
Luvun arvo alustetaan arvoon 2. Joten lauseke number < 5
arvioidaan true
. Näin ollen if-lohkon sisällä oleva koodi suoritetaan. If-lauseen jälkeen oleva koodi suoritetaan aina lausekkeesta riippumatta.
Muuta nyt luvun arvo suuremmaksi kuin 5
esimerkiksi 10
. Kun suoritamme ohjelmaa, tulos on:
Tämä lause suoritetaan aina.
Lauseke number < 5
palaa false
, joten koodi sisällä, jos lohkoa ei suoriteta.
C # jos … muu (jos-sitten-muu) -lausunto
C #: n if-lauseella voi olla valinnainen else-lause. Koodilohko muu-käskyn sisällä suoritetaan, jos lauseke arvioidaan false
.
Jos # else-lauseen syntaksit C #: ssä on:
if (looginen lauseke) (// suoritetut lauseet, jos looginen lauseke on tosi) muu (// käskyt suoritetaan, jos looginen lauseke on väärä)
Esimerkiksi,
jos (luku <5) (luku + = 5;) muu (luku - = 5;)
Tässä esimerkissä lausunto
luku + = 5;
suoritetaan vain, jos luvun arvo on pienempi kuin 5
.
Lausunto
luku - = 5;
suoritetaan, jos luvun arvo on suurempi tai yhtä suuri kuin 5
.
Entä jos… muuten Lausunto toimii?
Esimerkki 2: C # if… else Lausunto
using System; namespace Conditional ( class IfElseStatement ( public static void Main(string() args) ( int number = 12; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) else ( Console.WriteLine("(0) is greater than or equal to 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Kun suoritamme ohjelmaa, tulos on:
12 on suurempi tai yhtä suuri kuin 5 Tämä lause suoritetaan aina.
Tässä numeron arvo alustetaan 12
. Joten lauseke number < 5
arvioidaan false
. Näin ollen toisen lohkon sisällä oleva koodi suoritetaan. If… else -käskyn jälkeen oleva koodi suoritetaan aina lausekkeesta riippumatta.
Muuta nyt luvun arvo pienemmäksi kuin 5
esimerkiksi 2
. Kun suoritamme ohjelmaa, tulos on:
2 on alle 5 Tämä käsky suoritetaan aina.
Lauseke number < 5
palauttaa tosi, joten koodi sisällä, jos lohko suoritetaan.
C #: n kolminkertainen operaattori tarjoaa pikakuvakkeen C #: lle, jos… muuten.
C # jos … muuten jos (jos-sitten-muu jos) -lausunto
Kun meillä on vain yksi testattava ehto, if-then- ja if-then-else-lauseet toimivat hyvin. Mutta entä jos meillä on useita ehtoja testata ja suorittaa yksi monista koodilohkoista.
For such case, we can use if… else if statement in C#. The syntax for if… else if statement is:
if (boolean-expression-1) ( // statements executed if boolean-expression-1 is true ) else if (boolean-expression-2) ( // statements executed if boolean-expression-2 is true ) else if (boolean-expression-3) ( // statements executed if boolean-expression-3 is true )… else ( // statements executed if all above expressions are false )
The if… else if statement is executed from the top to bottom. As soon as a test expression is true
, the code inside of that if ( or else if ) block is executed. Then the control jumps out of the if… else if block.
If none of the expression is true
, the code inside the else block is executed.
Alternatively, we can use switch statement in such condition.
Example 3: C# if… else if Statement
using System; namespace Conditional ( class IfElseIfStatement ( public static void Main(string() args) ( int number = 12; if (number 5) ( Console.WriteLine("(0) is greater than 5", number); ) else ( Console.WriteLine("(0) is equal to 5"); ) ) ) )
When we run the program, the output will be:
12 is greater than 5
The value of number is initialized to 12
. The first test expression number < 5
is false
, so the control will move to the else if block. The test expression number> 5
is true
hence the block of code inside else if will be executed.
Similarly, we can change the value of number
to alter the flow of execution.
Nested if… else Statement
An if… else statement can exist within another if… else statement. Such statements are called nested if… else statement.
The general structure of nested if… else statement is:
if (looginen lauseke) (if (sisäkkäinen-lauseke-1) (// suoritettava koodi) else (// suoritettava koodi)) else (jos (sisäkkäinen-lauseke-2) (// suoritettava koodi ) else (// suoritettava koodi))
Sisäkkäin, jos lauseita käytetään yleensä, kun meidän on testattava yksi ehto toisen jälkeen. Sisäkkäisessä if-lauseessa, jos ulompi if-lause palaa tosi, se tulee kehoon tarkistamaan sisäisen if-lauseen.
Esimerkki 4: Sisäkkäin, jos… muu lausunto
Seuraava ohjelma laskee suurimman luvun 3 numerosta käyttämällä sisäkkäisiä if… else -lauseketta.
using System; namespace Conditional ( class Nested ( public static void Main(string() args) ( int first = 7, second = -23, third = 13; if (first> second) ( if (firstNumber> third) ( Console.WriteLine("(0) is the largest", first); ) else ( Console.WriteLine("(0) is the largest", third); ) ) else ( if (second> third) ( Console.WriteLine("(0) is the largest", second); ) else ( Console.WriteLine("(0) is the largest", third); ) ) ) ) )
Kun suoritamme ohjelmaa, tulos on:
13 on suurin