C# IF, Switch, For, While Loop Statements Tutorial [ตัวอย่าง]
การควบคุมการไหลและคำสั่งแบบมีเงื่อนไข
คำสั่งควบคุมโฟลว์และเงื่อนไขมีอยู่ในภาษาการเขียนโปรแกรมใดๆ เพื่อเปลี่ยนแปลงโฟลว์ของโปรแกรม
ตัวอย่างเช่น หากมีคนต้องการดำเนินการเฉพาะชุดคำสั่งเฉพาะโดยอิงตามตรรกะบางอย่าง คำสั่ง Flow control และเงื่อนไขจะมีประโยชน์
คุณจะได้รับความเข้าใจที่ดีขึ้นเมื่อเราอ่านคำสั่งต่าง ๆ ที่มีอยู่ใน C#
โปรดทราบว่าโค้ดด้านล่างทั้งหมดสร้างขึ้นในไฟล์ Program.cs
1) ถ้าคำสั่ง
คำสั่ง if ใช้ในการประเมินนิพจน์บูลีนก่อนดำเนินการชุดคำสั่ง หากนิพจน์ประเมินเป็นจริง ก็จะเรียกใช้ชุดคำสั่งหนึ่งชุด มิฉะนั้นจะเรียกใช้ชุดคำสั่งอีกชุดหนึ่ง
ในตัวอย่างของเราด้านล่าง มีการเปรียบเทียบตัวแปรที่เรียกว่าค่า หากค่าของตัวแปรน้อยกว่า 10 ตัวแปรจะรันคำสั่งหนึ่ง หรือมิฉะนั้น ตัวแปรก็จะรันบนคำสั่งอื่น
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value = 11; if(value<10) { Console.WriteLine("Value is less than 10"); } else { Console.WriteLine("Value is greater than 10"); } Console.ReadKey(); } } }
คำอธิบายรหัส
- ขั้นแรกเรากำหนดตัวแปรที่เรียกว่าค่าและตั้งค่าเป็น 11
- จากนั้นเราใช้คำสั่ง 'if' เพื่อตรวจสอบว่าค่าน้อยกว่า 10 ของตัวแปรหรือไม่ ผลลัพธ์จะเป็นจริงหรือเท็จ
- หากเงื่อนไข if ประเมินเป็นจริง เราจะส่งข้อความ “ค่าน้อยกว่า 10” ไปยังคอนโซล
- หากเงื่อนไข if ประเมินเป็นเท็จ เราจะส่งข้อความ “ค่ามากกว่า 10” ไปยังคอนโซล
หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้
Output:
เราจะเห็นได้อย่างชัดเจนว่าคำสั่ง 'if' ถูกประเมินว่าเป็นเท็จ ดังนั้นข้อความ "ค่ามากกว่า 10" จึงถูกส่งไปยังคอนโซล
2) คำสั่งสวิตช์
คำสั่ง switch เป็นการเพิ่มประสิทธิภาพให้กับคำสั่ง 'if' หากคุณมีนิพจน์หลายรายการที่ต้องประเมินในครั้งเดียว การเขียนคำสั่ง 'if' หลายรายการจะกลายเป็นปัญหา
คำสั่ง switch ใช้ในการประเมินนิพจน์และเรียกใช้คำสั่งที่แตกต่างกันตามผลลัพธ์ของนิพจน์ ถ้าเงื่อนไขหนึ่งไม่ประเมินเป็นจริง คำสั่ง switch จะย้ายไปยังเงื่อนไขถัดไปและอื่นๆ
มาดูกันว่ามันทำงานอย่างไรกับตัวอย่างด้านล่าง ที่นี่ เรากำลังเปรียบเทียบค่าของตัวแปรที่เรียกว่า 'value' อีกครั้ง จากนั้นเราจะตรวจสอบว่าค่าเท่ากับ 1 หรือ 2 หรือแตกต่างอย่างสิ้นเชิง
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value=11; switch(value) { case 1: Console.WriteLine("Value is 1"); break; case 2: Console.WriteLine("Value is 2"); break; default: Console.WriteLine("value is different"); break; } } } }
คำอธิบายรหัส:-
- ก่อนอื่นเรากำหนดตัวแปรที่เรียกว่า 'value' และตั้งค่าเป็น 11
- จากนั้นเราจะใช้คำสั่ง 'switch' เพื่อตรวจสอบค่าของตัวแปร 'value'
- คำสั่ง Case ใช้เพื่อกำหนดเงื่อนไขที่แตกต่างกัน ตามเงื่อนไข ชุดคำสั่งสามารถดำเนินการได้ คำสั่ง switch สามารถมีเงื่อนไขได้หลายกรณี คำสั่ง case แรกจะตรวจสอบว่าค่าของตัวแปรเท่ากับ 1 หรือไม่
- หากคำสั่งกรณีแรกเป็นจริง ข้อความ "ค่าคือ 1" จะถูกเขียนลงในคอนโซล
- คำสั่ง break ใช้เพื่อแยกคำสั่ง switch ทั้งหมดเมื่อเงื่อนไขเป็นจริง
- เงื่อนไขเริ่มต้นคือเงื่อนไขพิเศษ นี่หมายความว่าหากไม่มีนิพจน์กรณีใดประเมินเป็นจริง ให้รันชุดคำสั่งสำหรับเงื่อนไขดีฟอลต์
หากป้อนรหัสข้างต้นอย่างถูกต้องและโปรแกรมทำงานสำเร็จ ผลลัพธ์จะแสดงดังต่อไปนี้ ผลลัพธ์จะพิมพ์ค่าเริ่มต้น "ค่าแตกต่างกัน" เนื่องจากไม่มีเงื่อนไขใดที่ตรงตามเงื่อนไข
Output:
3) ในขณะที่วง
while loop ใช้เพื่อวัตถุประสงค์ในการวนซ้ำ สมมติว่าคุณต้องการทำซ้ำชุดคำสั่งบางชุดตามจำนวนครั้งที่ต้องการ จากนั้นจะใช้ while
ในตัวอย่างด้านล่าง เราใช้คำสั่ง while เพื่อแสดงค่าของตัวแปร 'i' คำสั่ง while ใช้เพื่อแสดงค่า 3 ครั้ง
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 value=3,i=0; while(i<value) { Console.WriteLine(i); i=i+1; } Console.ReadKey(); } } }
คำอธิบายรหัส:-
- จำนวนเต็มสองตัว ตัวแปร ถูกกำหนดไว้ อันหนึ่งคือค่าและอีกอันคือ 'i' ตัวแปรค่าถูกใช้เป็นขีดจำกัดบนที่เราควรวนซ้ำคำสั่ง while และ 'i' คือตัวแปรที่จะถูกประมวลผลระหว่างการวนซ้ำ
- ในคำสั่ง while ค่าของ 'i' จะถูกตรวจสอบกับขีดจำกัดบนอย่างต่อเนื่อง
- ที่นี่เราแสดงค่าของ 'i' ไปยังคอนโซล เรายังเพิ่มค่าของ 'i'
หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้
Output:
ที่นี่คุณจะเห็นว่าคำสั่ง while จะถูกดำเนินการ 3 ครั้งและเพิ่มค่าในเวลาเดียวกัน และในแต่ละครั้ง จะแสดงค่าปัจจุบันของตัวแปร 'i'
4) สำหรับลูป
นอกจากนี้ วง 'for' ยังใช้เพื่อวัตถุประสงค์ในการวนซ้ำอีกด้วย สมมติว่าคุณต้องการทำซ้ำชุดคำสั่งบางชุดตามจำนวนครั้งที่ต้องการ ระบบจะใช้ forloop
ในตัวอย่างด้านล่าง เราใช้คำสั่ง 'for' เพื่อแสดงค่าของตัวแปร 'i' คำสั่ง 'for' ใช้เพื่อแสดงค่า 3 ครั้ง
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { for(Int32 i=0;i<3;i++) { Console.WriteLine(i); } Console.ReadKey(); } } }
คำอธิบายรหัส:-
- คำหลัก 'for' ใช้เพื่อเริ่มต้นคำสั่ง 'for loop'
- ใน 'for loop' เรากำหนด 3 สิ่ง สิ่งแรกคือการกำหนดค่าเริ่มต้นของตัวแปรซึ่งจะใช้ใน 'for loop'
- ประการที่สองคือการเปรียบเทียบค่าของ 'i' กับขีดจำกัดบน ในกรณีของเรา ขีดจำกัดบนคือค่า 3 (i<3)
- ในที่สุด เราก็เพิ่มค่าของ 'i' ตามนั้น
- ที่นี่เราแสดงค่าของ 'i' ไปยังคอนโซล
หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้
Output:
คุณจะเห็นได้ว่าคำสั่ง 'for' ถูกดำเนินการ 3 ครั้ง และในแต่ละครั้ง คำสั่งจะแสดงค่าปัจจุบันของตัวแปร 'i'