Šajā rakstā mēs uzzināsim, kā izmantot, ja… citādi, ja… citādi, ja paziņojums C #, lai kontrolētu mūsu programmas izpildes plūsmu.
Nosacījuma pārbaude programmēšanā ir neizbēgama. Mēs bieži sastopamies ar situācijām, kad mums jāpārbauda apstākļi (neatkarīgi no tā, vai tas ir true
vai nav false
), lai kontrolētu programmas plūsmu. Šos apstākļus var ietekmēt lietotāja ievadītā informācija, laika faktors, pašreizējā vide, kurā programma darbojas, utt.
Šajā rakstā mēs iemācīsimies pārbaudīt apstākļus, izmantojot paziņojumu C #.
C # if (ja-tad) paziņojums
C # if-then paziņojums izpildīs koda bloku, ja dotais nosacījums ir patiess. Ja # tad apgalvojuma sintakse C # ir:
if (Būla izteiksme) (// izpildītie priekšraksti, ja Būla izteiksme ir patiesa)
- Būla izteiksme atgriezīs patieso vai
false
. - Ja atgriežas būla izteiksme
true
, tiks izpildīti apgalvojumi ķermeņa iekšpusē, ja (iekšpusē(… )
). - Ja atgriežas būla izteiksme
false
, paziņojumi pamattekstā tiek ignorēti.
Piemēram,
ja (skaitlis <5) (skaitlis + = 5;)
Šajā piemērā paziņojums
skaitlis + = 5;
tiks izpildīts tikai tad, ja skaitļa vērtība ir mazāka par 5.
Vai atceraties operatoru + =?
Kā tad, ja paziņojums darbojas?
1. piemērs: C # if paziņojums
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."); ) ) )
Kad mēs palaidīsim programmu, izeja būs:
2 ir mazāks par 5 Šis paziņojums vienmēr tiek izpildīts.
Skaitļa vērtība tiek inicializēta uz 2. Tātad izteiksme number < 5
tiek vērtēta līdz true
. Tādējādi kods, kas atrodas blokā if, tiek izpildīts. Kods aiz paziņojuma if vienmēr tiks izpildīts neatkarīgi no izteiksmes.
Tagad mainiet skaitļa vērtību uz kaut ko lielāku nekā 5
teiksim 10
. Kad palaidīsim programmu, produkcija būs:
Šis paziņojums vienmēr tiek izpildīts.
Izteiksme number < 5
atgriezīsies false
, līdz ar to kods, ja bloks netiks izpildīts.
C # ja … cits (ja-tad-cits) paziņojums
Ja paziņojumam C # var būt izvēles cits paziņojums. Koda bloks, kas atrodas citā priekšrakstā, tiks izpildīts, ja izteiksme tiks novērtēta false
.
Ja… else apgalvojuma sintakse C # ir:
if (Būla izteiksme) (// izpildītie paziņojumi, ja Būla izteiksme ir patiesa) cits (// izpildītie paziņojumi, ja Būla izteiksme ir nepatiesa)
Piemēram,
ja (skaitlis <5) (skaitlis + = 5;) cits (skaitlis - = 5;)
Šajā piemērā paziņojums
skaitlis + = 5;
tiks izpildīts tikai tad, ja skaitļa vērtība ir mazāka par 5
.
Paziņojums
skaitlis - = 5;
tiks izpildīts, ja skaitļa vērtība ir lielāka vai vienāda ar 5
.
Kā būtu, ja citādi paziņojums strādā?
2. piemērs: C # ja … cits paziņojums
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."); ) ) )
Kad mēs palaidīsim programmu, izeja būs:
12 ir lielāks vai vienāds ar 5 Šis paziņojums vienmēr tiek izpildīts.
Šeit tiek inicializēta skaitļa vērtība 12
. Tātad izteiciens number < 5
tiek vērtēts līdz false
. Tādējādi tiek izpildīts kods citā blokā. Kods aiz if… else priekšraksta vienmēr tiks izpildīts neatkarīgi no izteiksmes.
Tagad mainiet skaitļa vērtību uz kaut ko mazāku nekā 5
, teiksim 2
. Kad palaidīsim programmu, produkcija būs:
2 ir mazāks par 5 Šis paziņojums vienmēr tiek izpildīts.
Izteiks number < 5
atgriezīsies true, līdz ar to kods, ja bloķēšana tiks izpildīta.
Trīskāršais operators C # nodrošina saīsni C #, ja … cits paziņojums.
C # ja … cits ja (ja-tad-vēl-ja) paziņojums
Kad mums ir jāpārbauda tikai viens nosacījums, apgalvojums if-then un if-then-else darbojas labi. Bet ko tad, ja mums ir vairāki nosacījumi, lai pārbaudītu un izpildītu vienu no daudzajiem koda blokiem.
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 (būla izteiksme) (ja (ligzdota izteiksme-1) (// izpildāms kods) cits (// izpildāms kods)) cits (ja (ligzdota izteiksme-2) (// izpildāms kods ) else (// izpildāms kods))
Ligzdo, ja parasti tiek izmantoti apgalvojumi, kad mums jāpārbauda viens nosacījums, kam seko cits. Ja paziņojums ir ligzdots, ja, ja ārējais if paziņojums atgriežas kā patiess, tas nonāk ķermenī, lai pārbaudītu iekšējo if paziņojumu.
4. piemērs: Nested if… else paziņojums
Šī programma aprēķina lielāko skaitu starp 3 skaitļiem, izmantojot ligzdu if… else.
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); ) ) ) ) )
Kad mēs palaidīsim programmu, izeja būs:
13 ir vislielākais