មេរៀនទី៤: ប្រើ Decision Statement

មេរៀនទី៤: ប្រើ Decision Statement

ជំពូកនេះអ្នកនឹងរៀនពីរបៀប:

-ប្រើប្រមាណវិធី Boolean ដើម្បីបង្កើតកន្សោម expressions ដែលមានលទ្ធផលជាតំលៃ true ឬ false.

– សរសេរ if statements ដើម្បីអនុវត្តសំរេចធ្វើជ្រើសរើសលើ

លទ្ធផលនៃកន្សោម Boolean expression ។

-សរសេរ switch statements ដើម្បីអនុវត្តការងារសំរេចជ្រើសរើស

1.  ប្រកាសអថេរ  logic (bool Variable)

លើពិភពលោក programming (មិនដូចពិភពលោកពិត) គ្រប់សឬខ្មៅ ត្រូវ ឬខុស ។ ឧទាហរណ៍ ប្រសិនបើអ្នកបង្កើតអថេរលេចគត់ដែលហៅថា x ផ្តល់អោយតំលៃ 99 ទៅ x រួចហើយស្នើរសុំ “ធ្វើតំលៃ x ផ្ទុកតំលៃ 99” ចំលើយ ពិតប្រាកដ៏ true ។ ប្រសិនបើអ្នកស្នើរ “គឺ x តូចជា 10” ចំលើយពិត false ។ ក្នុងឧទាហរណ៍ កន្សោម Boolean expression។ កន្សោម Boolean expression តែងតែជា true ឬ false ។ ក្នុង Microsoft Visual C# មាន ជាដំបូងប្រភេទ data ដែលហៅ bool ដែលអ្នក ប្រើដើម្បីប្រកាសអថេរ declare variables ដែលវាយតំលៃទាំងពីរ true ឬ false ។ អ្នកអាច ផ្តល់តំលៃទៅអថេរ logic bool ដែលប្រើ keywords true និង false ។ ឧទាហរណ៍ ខាងក្រោម

នេះមានបី statements ប្រកាសអថេរ bool ដែលហៅថាផ្តល់អោយតំលៃពិត រួចស្រេច true ទៅអថេររួចហើយសរសេរវាទៅក្នុង console:

bool areYouReady;

areYouReady = true;

Console.WriteLine(areYouReady); // writes True

2. ប្រើប្រាស់ប្រមាណវិធី Boolean ប្រមាណវិធី logic Boolean គឺជាប្រមាណវិធីមានលទ្ធផលគឺ true ឬ false ។ ក្នុងកម្មវិធី C# មានប្រមាណវិធី logic  Boolean ដែលច្រើនប្រើ។ ប្រមាណវិធី logic Boolean គឺជាប្រមាណឆ្នាប់ NOT (បដិសេធន៍) ប្រើសំរាប់ បង្ហាញសញ្ញា (!) ។ អ្នកអនុវត្ត ប្រមាណវិធី នេះ logic Boolean ផ្តល់អោយតំលៃ ទោលរួចវាយតំលៃហើយវាបដិសេធន៍តំលៃរបស់វា ។ ម្យ៉ាងទៀត !false គឺ true និង !true គឺជា false ។

ស្វែងយល់ប្រមាណវិធី (Equality) និងទំនាក់ទំនង (Relational)

បណ្តាប្រមាណវិធីដែលច្រើនប្រើជាងគេមានពីរប្រមាណវិធីដោយប្រើ ដែលប្រើប្រមាណវិធី logic Boolean គឺជា (equality) និង (inequality) ។ អ្នកប្រើប្រមាណវិធីទាំង ពីរខាងលើនេះ ដើម្បីរកមើលតំលៃស្មើរជាមួយតំលៃផ្សេង ទៀតដែលដូចនឹងប្រភេទនេះឬយ៉ាងណា។ ទំនាក់ ទំនងជាមួយពីរប្រមាណវិធីគឺ ជាប្រមាណវិធីទំនាក់ទំនង (relational) ។ អ្នកប្រើប្រមាណ វិធី ទំនាក់ទំនង relational ដើម្បីរកមើលតំលៃ មួយដែលតូច ជាឬធំជាងតំលៃមួយខុសពីប្រភេទ

ឬបែបណា ។

បណ្តាប្រមាណវិធី operator ដែលប្រើក្នុងអថេរ int ដែលហៅថា age

ប្រមាណវិធី

មានន័យ

ឧទាហរណ៍

ឡូស៊ីច

តម្លៃស្មើរ

age — 100

false

!=

age != 0

true

C# ប្រើនិមិត្មសញ្ញាអោយបណ្តាប្រមាណវិធីនិងប្រមាណវិធីទំនាក់ទំនងដែល បង្ហាញ ក្នុងតារាងខាងក្រោម:

ប្រមាណវិធី

មានន័យ

ឧទាហរណ៍

ឡូស៊ីច

<

តូចជាង

age < 21 false
<=

តូចជាងឬស្មើរ

age <= 18 false
>

ធំជាង

age > 16 true
>=

ធំជាងឬស្មើរ

age >= 30 true

ស្វែងយល់បណ្តាប្រមាណវិធី  Logic

C# បានផ្គត់ផ្គង់ពីរប្រមាណវិធី logic Boolean: ប្រមាណវិធី logic AND ដែលប្រើនិមិន្មសញ្ញា ||  symbol ហើយនិងប្រមាណវិធី logic OR ដែលប្រើ ||

គោលបំណងនៃប្រមាណវិធីទាំងនេះគឺផ្សំជាមួយ កន្សោម logic Boolean រួមជាមួយកន្សោមធំជាង ។ បណ្តាប្រមាណវិធីទាំងពីរដែលសមមូលនឹង បណ្តាប្រមាណវិធីដោយប្រើប្រមាណវិធីទំនាក់ទំនងមានលទ្ធផលត្រូវ true ឬ false ប៉ុន្តែខុសពីតំលៃរួមអនុវត្តជាក់ស្តែងរបស់វានឹង មានតំលៃ True និងមានតំលៃ false ។ លទ្ធផលនៃប្រមាណវិធី && គឺ true ប្រសិនបើ ទាំងពីរកន្សោមប្រមាណវិធី logic Boolean វាជាប្រមាណវិធីគឺជា true ។ ប្រើ ប្រមាណវិធី && operator ដើម្បីសំរេចធ្វើការផ្សំជាមួយកន្សោម

ប្រមាណវិធី logic Boolean expressions គឺជា true ។ ឧទាហរណ៍ ខាងក្រោមនេះជា statement ដែលផ្តល់តំលៃ true ទៅក្នុង validPercentage ប្រសិនបើ តំលៃនៃភាគរយធំជាងឬស្មើរ zero និងតំលៃភាគរយតូចជាងឬស្មើ 100:

bool validPercentage;

validPercentage = (percent >= 0)&& (percent <= 100);

គ្រប់កំហុស error ដែលតែងតែកើតមានឡើងដើម្បីព្យាយាមផ្គុំជាមួយ  ពីរតែស tests ដែលឈ្មោះភាគរយអថេរគឺមានតែមួយដូចនេះ :

percent >= 0 && <= 100 // error មិនអាច compile បាន

លទ្ធផលនៃប្រមាណវិធី │┠គឺជា true ប្រសិនបើកន្សោមនៃប្រមាណ វិធី logic Boolean វាជាប្រមាណវិធីគឺជា true ។ អ្នកប្រើប្រមាណវិធី ││ ដើម្បីសំរេចធ្វើផ្គុំជាមួយកន្សោម Boolean គឺជា true ។ ឧទាហរណ៍ ខាងក្រោមនេះ statement ផ្តល់តំលៃ true ទៅអោយ invalidPercentage ប្រសិនតំលៃនៃភាគរយគឺតូចជាង zero ឬតំលៃភាគរយធំជាង 100:

bool invalidPercentage;

invalidPercentage = (percent < 0) || (percent > 100);

 3. Short Circuiting

ប្រមាណវិធី && និង || ទាំងពីរនេះមានលក្ខណ:ពិសេសគឺហៅថា short circuiting ។ ជួនពេលខ្លះលទ្ធផលនៃ && និង || ប្រមាណវិធី សំរេចធ្វើពីឆ្វេងនៃប្រមាណវិធី left-side Boolean ។ ក្នុងករណីនេះប្រមាណវិធី && និង || នឹងបោះបង់ចោលតំលៃកន្សោម right-side Boolean ។ ឧទាហរណ៍: (percent >= 0) && (percent <= 100)

ក្នុងកន្សោមប្រសិនបើតំលៃនៃភាគរយគឺតូចជាង zero កន្សោម Boolean នៅលើ left side នៃ && តំលៃទៅ false ។ តំលៃនេះមានន័យថា ជាលទ្ធផលនៃកន្សោមទាំងអស់ត្រូវតែ false នៃកន្សោមដែលនៅសេសសល់

ដូច្នេះកន្សោម logic Boolean នៅលើ right side នៃ && គឺមិនមានតំលៃ ។

(percent< 0) ||  percent> 100)

តារាងខាងក្រោមនេះសង្ខេបពីការបញ្ចូលគ្នា (associativity) នៃ ប្រមាណវិធីទាំងអស់ដែលអ្នកបានរៀនពីមុន ។

ផ្នែក ប្រមាណ ការពិណ៌នា រួបរួម
Primary ( ) Precedence override Left
Unary ! NOT Left
Multiplicative */

%

 

Multiply Divide Divisionremainder

 

Left
Additive  +-

<

 

Addition Subtraction  left
Relational  <=>

>=

 

Less than Less than orequal Greater than

Greater than or equal

 

Left
Equality  ==!=

 

Equal to Not equal to Left
Boolean  &&||

 

Logical AND LogicalOR

 

left
Assignment  Right 

តម្លៃកន្សោមខាងស្តាំ Boolean

(percent >= 0) && (percent <= 100)

តម្លៃកន្សោមនៃខាងស្តាំនៃ && Boolean

(percent < 0) || (percent > 100)

4. ការប្រតិ្តបត្តិ if Statement

អ្នកប្រើ if statement កាលណាអ្នកចង់បានប្រត្តិបត្តិមួយឬច្រើន statements កាលណាលទ្ធផលនៃកន្សោម Boolean គឺជា true ។ អ្នកអាចប្រើ ស្រេចលើអនុប្រយោគ កាលណាលទ្ធផលនៃកន្សោម Boolean គឺជា false ។ ស្វែងយល់ពី if Statement Syntax ។ syntax នៃ if statement គឺបង្ហាញ ខាងក្រោមនេះ:

if ( booleanExpression )

statement-1;

else

statement-2;

ប្រសិនបើកន្សោម boolean Expression តំលៃ true ពេលនោះ statement-1 ដំណើរការ ម្យ៉ាងទៀតកន្សោម booleanExpression គឺ false

និង statement-2 ដំណើរការ ។ ពីពាក្ស else និង statement-2 ខាងក្រោម ប្រសិនបើមិនមាន else​  មិនមានបញ្ហាអ្វីកើតមានឡើងកាលណាកន្សោម booleanExpression គឺជា false ។ ឧទាហរណ៍ if statement ដែល បង្កើនចំនួនវិនាទីរបស់នាឡិកា(នាទីដែលបោះបង់ចោល):

int seconds;

if (seconds == 59)

seconds = 0;

else

seconds++;

5. បង្ហាញកន្សោម logic Boolean កន្សោមក្នុង if statement ត្រូវប្រើក្នុងសញ្ញាវង់ក្រចក ។ បន្ថែមក្នុងនោះ កន្សោមនោះត្រូវតែជាកន្សោម logic ។  មានភាសាសរសេរផ្សេង (ដូចជា C និង C++) អនុញ្ញាតអោយអ្នកសរសេរកន្សោមមួយចំនួនគត់និងប្តូរ convert តំលៃ ចំនួនគត់ទៅជា true (nonzero) ឬ false (zero) ។ ក្នុង C# មិនធ្វើដូច្នេះ

ប្រសិនបើអ្នកសរសេរ if statementមួយនិងដោយចៃដន្យសរសេរកិច្ចការជំនួស

equality test ។ C# compiler នឹងទទួលស្គាល់ពីកំហុសរបស់អ្នក ឧទាហរណ៍

int seconds;

if (seconds = 59) // compile-time error

if (seconds == 59) // ok

ប្រើ Blocks ទៅក្នុង Group Statements ពេលខ្លះអ្នកនឹងចង់បានដើម្បីរត់ពីរឬច្រើន statements កាលណា កន្សោម Boolean គឺជា true ។ អ្នកនឹងមាន group statements នៅក្នុង method ថ្មីរួចហើយហៅ method ថ្មីប៉ុន្តែមានដំណោះស្រាយសាមញ្ញាគឺ បញ្ចូលទៅក្នុង group statements ក្នុង block ។ ក្នុងឧទាហរណ៍ខាងក្រោមនេះ ដែលធ្វើ កិច្ចការជាមួយ statements ត្រូវបានបញ្ចូលទៅក្នុង groupe ក្នុង block និង block ទាំងមូលរត់ដំណើរការ ប្រសិនបើតំលៃ នៃវិនាទីគឺស្មើរនិង 59:

int seconds;

int seconds = 0;

int minutes = 0;

if (seconds == 59)

{

seconds = 0;

minutes++;

}

else

seconds++;

if  Statement អ្នកអាចប្រើ if statements ទៅក្នុង if statements ផ្សេងទៀត ។ ក្នុង មធ្យោបាយនេះ អ្នកអាចចង់បញ្ចូលទៅកន្សោម Boolean ។ ពេលតែសឡើង វិញបន្ទាប់ពី កន្សោមផ្សេងទៀតមានតំលៃ true ។ ក្នុងឧទាហរណ៍ខាងក្រោមនេះ ប្រសិនបើតំលៃនៃថ្ងៃ គឺ 0 ការតែ សលើកទី1 គឺតំលៃ true និងឈ្មោះ dayName ត្រូវបានផ្តល់ Sunday ។ ប្រសិនបើតំលៃនៃថ្ងៃ មិនមែន 0 ការតែសលើកដំបូង បរាជ័យនិង control ផ្្ញើទៅប្រយោគផ្សេងទៀត ដែលអ្នករត់និង if statement ទីពីររួចហើយប្រៀបធៀបតំលៃថ្ងៃជាមួយនិង 1 ។  if statement ទីពីរគឺមកដល់ if  តែសលើកទីមួយគឺ false។

if (day == 0)

dayName = “Sunday”;

else if (day == 1)

dayName = “Monday”;

else if (day == 2)

dayName = “Tuesday”;

else if (day == 3)

dayName = “Wednesday”;

else if (day == 4)

dayName = “Thursday”;

else if (day == 5)

dayName = “Friday”;

else if (day == 6)

dayName = “Saturday”;

else

dayName = “unknown”;

text បង្ហាញក្នុងប្រអប់ text box:

first == second : False

first != second : True

first < second : False

first <= second : False

first > second : True

first >= second : True

aCode បង្ហាញសំរាប់ Form1.cs ក្នុង Code និងសន្លឹក Text Editor ចុចលើទីតាំង compare_Click:

int diff = dateCompare(first.Value, second.Value);

info.Text = “”;

show(“first == second”, diff == 0);

show(“first != second”, diff != 0);

show(“first < second”, diff < 0);

show(“first <= second”, diff <= 0);

show(“first > second”, diff > 0);

show(“first >= second”, diff >= 0);

}

ប្រភេទ statements នៃា dateCompare method:

int result;

if (leftHandSide.Year < rightHandSide.Year)

result = -1;

else if (leftHandSide.Year > rightHandSide.Year)

result = +1;

else if (leftHandSide.Month < rightHandSide.Month)

result = -1;

else if (leftHandSide.Month > rightHandSide.Month)

result = +1;

else if (leftHandSide.Day < rightHandSide.Day)

result = -1;

else if (leftHandSide.Day > rightHandSide.Day)

result = +1;

else

result = 0;

return result;

ក្នុងលំហាត់ខាងក្រោមនេះអ្នកនឹងសរសេរ method ដែលប្រើ if statement ដើម្បីប្រៀបធៀបកាលបរិច្ឆ័ទពីរ

សរសេរ if statements

1. ចាប់ផ្តើមចូលក្នុង Microsoft Visual Studio .NET ។

2. លើ File menu -> ចូលក្នុង Open-> ចុចលើ Project ។ បើប្រអប់ Open Project dialog box ។
3. បើកជ្រើសរើស project ដែលមានទីតាំងក្នុង \Microsoft Press\Visual C# Step by Step\Chapter4\ការជ្រើសរើស folder ក្នុង My Documents folder របស់អ្នកការជ្រើសរើស project បើកក្នុង programming environment ។
a4. នៅលើ Debug menu ចុចលើ Start Without Debugging ។

ចំណាំ:  លើ keyboard shortcut ចាប់ផ្តើម Start Without Debugging គឺស្មើនឹងចុចលើ Ctrl+F5 ។ Visual Studio .NET នឹងសង់បង្កើតហើយរត់កម្ម

វិធីប្រើប្រាស់ ។ មានពីររបៀប DateTimePicker controls លើ form ដែលហៅថាទីមួយនិងទីពីរទាំងពីរនេះបង្កើតឡើងភ្លាមដូចខាងក្រោមនេះ:

5. ចុចលើ Compare

ខាងក្រោមនេះ text បង្ហាញក្នុង text box:

first == second : False

first != second : True

first < second : False

first <=second : False

first > second : True

first >= second : True

6. ចុចលើ Quit អ្នកត្រឡប់ទៅក្នុង Visual Studio .NE programming environment ។

7. ប្រើ Scroll ឆ្លតកាត់ Code pane និងទីតាំង dateCompare method ។  dateCompare method នឹងមានដូចជា:

private int dateCompare(DateTime lhs, DateTime rhs)

{

// TO DO

return 42;

}

អ្នកត្រូវដើម្បីអនុវត្តក្នុង method នេះដើម្បីប្រៀបធៀបត្រឹមត្រូវកាល

បរិច្ឆេទពីរសំរាប់ការអនុវត្តន៍ធ្វើការបានត្រឹមត្រូវ អ្នកត្រូវការដើម្បីអនុវត្តន៍

dateCompare ដែលបង្ហាញដូចខាងក្រោននេះ:

if lhs < rhs, then return any int value less than zero

if lhs == rhs, then return zero

if lhs > rhs, then return any int value greater than zero

8. លុបចោល // TODO និងត្រឡប់ទៅ statement ពីក្នុង dateCompare method.

9. វាយសរសេរ statements ខាងក្រោមនេះក្នុង body dateCompare method:

int result;

if (lhs.Year < rhs.Year)

result = -1;

else if (lhs.Year > rhs.Year)

result = +1;

else if (lhs.Month < rhs.Month)

result = -1;

else if (lhs.Month > rhs.Month)

result = +1;

else if (lhs.Day < rhs.Day)

result = -1;

else if (lhs.Day > rhs.Day)

result = +1;

else

result = 0;

return result;

9. ចាំថា ប្រសិនបើ lhs.Year < rhs.Year គឺជា false ហើយ

lhs.Year > rhs.Year គឺជា false ពេលនោះ lhs.Year == rhs.Year ត្រូវតែ true ហើយកម្មវិធីនឹងប្តូរត្រឹមត្រូវដើម្បីប្រៀប ធៀប Month property នៃ lhs និង rhs ។ ដូចគ្នាដែរប្រសិនបើ  lhs.Month < rhs.Month គឺជា false និង lhs.Month > rhs.Month គឺជា false ពេលនោះ lhs.Month == rhs.Month ត្រូវតែ true ហើយកម្មវិធីប្តូរយ៉ាង ត្រឹមត្រូវម្តង ទៀតដើម្បីប្រៀបធៀប Day property នៃ lhs និង rhs ។ ចុចក្រោយ ប្រសិនបើ lhs.Day < rhs.Day គឺជា false ហើយ lhs.Day> rhs.Day គឺជា false ពេលនោះ lhs.Day == rhs.Day ត្រូវតែ true ពីព្រោះ Month និង Year properties ត្រូវតែ true ផងដែរកាលបរិច្ឆេទត្រូវតែដូចគ្នា ។
10. នៅលើ Debug menu ចុចលើ Start Without Debugging ។ ការប្រើប្រាស់ត្រូវបានសង់បង្កើតឡើងវិញនិង restart ឡើងវិញ ។

កាលបរិច្ឆ័ទពីរ DateTimePicker controls ទីមួយនិងទីពីរគឺជាការ

បង្កើតកាលបរិច្ឆ័ទសព្វថ្ងៃ ។

11. ចុចលើ Compare បន្ទាប់មក text បង្ហាញក្នុងប្រអប់ text box:

first == second : True

first != second : False

first <  second : False

first <= second : True

first >  second : False

first >= second : True

These are the correct answers.

12. ប្តូរ DateTimePicker control ទីពីរក្នុង tomorrow’s date។

13. ចុចលើ Compare បន្ទាប់មក text បង្ហាញក្នុងប្រអប់ text box:

first == second : False

first != second : True

first <  second : True

first <= second : True

first >  second : False

first >= second : False

13. These are the correct answers.

14. ចុចលើ Quit. ដើម្បីត្រឡប់ទៅកម្មវិធី Visual Studio .NET

6. ប្រើប្រាស់ switch Statement កាលណាអ្នកសរសេរ if statement ជួនពេលខ្លះរក if statements ទាំងអស់មើលទៅប្រហាក់ប្រហែលគ្នា ; វាទាំងអស់មានតំលៃក្នុងកន្សោមវាគ្រាន់ តែមានភាពខុសគ្នាដែល if នីមួយៗប្រៀបធៀបលទ្ធផលនៃកន្សោមបី ជាមួយតំលៃខុសៗ គ្នាឧទាហរណ៍:

if (day == 0)

dayName = “Sunday”;

else if (day == 1)

dayName = “Monday”;

else if (day == 2)

dayName = “Tuesday”;

else if (day == 3)

else

dayName = “Unknown”;

ក្នុងស្ថានភាពនេះអ្នកតែងតែសរសេរឡើងវិញ if statements ដូចជា switch statement ដើម្បីបង្កើតកម្មវិធីរបស់អ្នកដែលមានលទ្ធផលល្អប្រសើរ ជួនពេលខ្លះវាមានលទ្ធភាពដើម្បីសរសេរ ឡើងវិញ if statement ដោយប្រើ arrays ។

ស្វែងយល់ switch Statement Syntax syntax នៃ switch statement គឺមានដូចខាងក្រោមនេះ (switch, case និង default គឺជា keywords):

switch ( controllingExpression )

{

case constantExpression :

statements

break;

case constantExpression :

statements

break;

default :

statements

break;

}

<controllingExpression> គឺជាតំលៃមួយនិង statements ខាង

ក្រោមនេះ case ដែលមានក្នុងតំលៃ constantExpression គឺស្មើលទ្ធផលនៃ <controllingExpression> ។  switch statement ពេលដែលបញ្ចប់ហើយ កម្មវិធីបន្តក្នុង statement ទីមួយបន្ទាប់មកបិទ switch statement ។

ប្រសិនបើតំលៃនៃ constantExpression ស្មើនឹងតំលៃនៃcontrolling Expression នោះ statements នៅក្រោម optional default : រត់ដំណើរការ error មិនមានលទ្ធផលប្រសិនបើតំលៃនៃ controlling expression មិនធ្វើ

ការផ្សំជាមួយ case labels និងមិនមាន default label ។

switch (day)

{

case 0 :

dayName = “Sunday”;

break;

case 1 :

dayName = “Monday”;

break;

case 2 :

dayName = “Tuesday”;

break;

default :

dayName = “Unknown”;

break;

}

ខាងក្រោមនេះជាតួនាទី switch Statement switch statements គឺគេនិយមប្រើប៉ុន្តែមិនជោគជ័យអ្នកមិនអាចប្រើ វាកាលណាអ្នកអាចធ្វើបានដូច្នោះ ។ switch statements របស់អ្នកត្រូវតែ មានជាប់តួនាទីដូចខាងក្រោម:

· អ្នកអាចប្រើ switch គ្រាន់តែលើប្រភេទ primitive data (ដូចជា int) និង string ។ ប្រសិនបើអ្នកត្រូវការប្រើ switch ជាមួយប្រភេទផ្សេងទៀត អ្នកនឹងអាចប្រើ if statement. ។

· ក្នុង case labels របស់អ្នកត្រូវតែជាកន្សោមថេរដូចជា 42 ឬ”42″ ប្រសិនបើអ្នកត្រូវការគណនាតំលៃ case label របស់អ្នករត់ដំណើរការក្នុងពេល ណាមួយ អ្នកនឹងអាចប្រើ if statement ។

· ក្នុង case labels របស់អ្នកត្រូវតែជាកន្សោមមានតែមួយគត់ ម្យ៉ាង

ទៀតអ្នកមិនអាចអនុញ្ញាតដើម្បីសរសេរក្នុងពីរ case labels ជាមួយតំលៃដូចគ្នា

· អ្នកត្រូវតែធ្វើឡើងវិញក្នុង case label syntax សំរាប់តំលៃដោយ ឡែកប្រសិនបើអ្នកចង់បានដើម្បីរត់ដំណើរការ statements ដូចគ្នាជាមួយ

តំលៃច្រើនជាងមួយ ។ ឧទាហរណ៍:

switch (trumps)

{

case Hearts :

case Diamonds : // Fall-through allowed – no code between labels

color = “Red”; // Code executed for Hearts and Diamonds

break;

case Clubs :

color = “Black”;

case Spades : // Error – code between labels

color = “Black”;

7. ច្បាប់មិនសូវមានប្រើ (No Fall-Through)

តួនាទី No fall-through មានន័យថាអ្នកអាចរៀបចំឡើងវិញជា ផ្នែកនៃ switch statement ដោយគ្មានឥទ្ធិពលលើវា។ អ្នកសរសេរក្នុង C និង C++ គួរចាំថាការបំបែក statement គឺជាការចាំបាច់សំរាប់គ្រប់ករណីក្នុង switch statement (ក្នុងករណីប្រើ default) ។ សំណើរនេះគឺជាបញ្ហាល្អប្រសើ។ ក្នុង C# បញ្ហា fall-through គឺតែងតែជួបប្រទេះក្នុងពេល compile-time error ។ statement ចុងក្រោយនៃករណីផ្នែកមួយមិនអនុញ្ញាតអោយ fall through ចូលក្នុងករណីនេះ ។ បំបែក statement គឺជាមធ្យោបាយសាមញ្ញា ដើម្បីបញ្ឈប់ fall-through ប៉ុន្តែអ្នកអាចប្រើ return statement ឬបោះចោល statement ។

សរសេរ switch statement

1. ចាប់ផ្តើម Start Visual Studio .NET

2. លើ File menu-> ចូលក្នុង Open រួចចុចលើ Project ។ បើកប្រអប់ Open Project dialog box ។

3. បើក switchStatement project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step by Step\Chapter 4\switchStatement folder ក្នុង My Documents folder ។

4. លើ Debug menu ចុចលើ Start Without Debugging ។ កម្មវិធី Visual Studio .NET សង់បង្កើតនិងរត់កម្មវិធីប្រើប្រាស់ ។ មានប្រអប់ text boxes ពីរដែលសំរាប់បែងចែកប៊ូតុង Copy ។
a5. ប្រភេទ statement ខាងក្រោមនៅលើប្រអប់ text box:

inRange =(lo<= number)&&(number<=hi);

6. ចុចលើ Copy ពេលនោះ statement ត្រូវបាន copied character-by-character ម្តងមួយៗទៅក្នុងប្រអប់ text box ខាងក្រោម ។

7. ចុចលើ Close ដើម្បីត្រឡប់ទៅកម្មវិធី Visual Studio .NET។

8. ប្រើ Scroll ឆ្លងកាត់ Code pane និងទីតាំង copyOne method រួច copy method មួយនិង character មួយទៀពីក្នុងប្រអប់ខាងលើ text box ទៅក្នុងប្រអប់ខាងក្រោម text box ។

8. ក្នុងជំហានពីរបីបន្ទាប់ទៀតអ្នកផ្លាស់ប្តូរ switch statement ដើម្បីប្តូរ characters ដែលសំខាមន់ក្នុង XML ទៅក្នុងផែនទី XML ឧទាហរណ៍ “<” character នឹងត្រូវបានប្តូរ string “&lt;”.

9. បន្ថែម Add statements បន្ទាប់មកទៅក្នុង switch statement។

case ‘<‘ :

target.Text += “&lt;”;

break;

case ‘>’ :

target.Text += “&gt;”;

break;

case ‘&’ :

target.Text += “&amp;”;

break;

case ‘\”‘ :

target.Text += “&#34;”;

break;

case ‘\” :

target.Text += “&#39;”;

break;

10. លើ Debug menu ចុចលើ Start Without Debugging ។  Visual Studio .NET​ សង់បង្កើតនិងរត់ដំណើរការកម្មវិធីប្រើប្រាស់។

11. វាយសរសេរ statement បន្ទាប់មកបញ្ចូលទៅក្នុងប្រអប់ខាងក្រោម text box:

inRange =(lo <= number)&&(number<= hi);

12. ចុចលើ Copy ពេលនោះ statement ត្រូវបាន copy ទៅក្នុង

ប្រអប់ខាងក្រោម text box ។ ពេលនេះ character នីមួយៗទទួល XML ដែលអនុវត្តក្នុង switch statement។

13. ចុចក្នុង Close អ្នកនឹងត្រឡប់ទៅកម្មវិធី Visual Studio .NET

សង្ខេបក្នុងជំពូកទី4

To ធ្វើដូចនេះ ឧទាហរណ៍
មើលប្រមាណវិធីif តំលៃពីរស្មើគ្នា ប្រើប្រមាណវិធី == ឬ != answer == 42
ប្រៀបធៀបទំហ៊ុំតំលៃពីរ ប្រើប្រមាណវិធី <, <=, >, >= Age >= 21
ប្រកាស Declare Boolean  ប្រើពាក្ស bool keyword ដូជាប្រភេទនៃអថេរ variable bool inRange; 
បង្កើតកន្សោម Boolean ដែលជា Trueប្រសិនបើពីរ លក្ខណះផ្សេង

ទៀតគឺជា true

 

Use the && operator  inRange = (lo <= number)&& (number <= hi);

 

បង្កើតកន្សោម Boolean ដែលជា Trueប្រសិនបើទាំងពីរ

នៃពីរលក្ខណះផ្សេង

ទៀតគឺជា true

ប្រើប្រមាណវិធី || 

 

outOfRange = (number < lo)|| (hi < number);

 

រត់ដំណើរការ Run statement ប្រសិន បើលក្ខណ:គឺជាtrue ប្រើ if statement  if (inRange)process();

 

រត់ដំណើរការ Run ច្រើនជាមួយ statement ប្រសិនគឺជាtrue ប្រើ switch statement  break;switch (current)

{

case ‘<‘:

break;

default :

break;

}