ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับการใช้คำสั่งวนซ้ำเพื่อควบคุมโปรแกรม
เช่น คำสั่ง while loop, do-while loop, for loop และ foreach loop
คำ สั่งวนซ้ำ (loop statements) ถูกใช้เพื่อควบคุมโปรแกรมเพื่อให้โปรแกรมทำบางส่วนของโค้ดซ้ำๆ มีลูปหลายประเภทที่เราสามารถใช้ได้ในภาษา C# และคุณจะได้เรียนรู้มันทั้งหมด เราจะเริ่มต้นกับลูปที่ง่ายที่สุดคือ while loop
ตัวอย่างการใช้ while loop ในภาษา C#
มาดูตัวอย่างการใช้คำสั่ง break
ใน บทนี้ คุณได้เรียนรู้เกี่ยวกับลูปประเภทต่างๆ ที่ใช้ในการควบคุมโปรแกรมในสถานะการต่างกัน และรู้ว่าเมื่อไหร่ที่ควรจะใช้คำสั่ง break และคำสัง continue
คำ สั่งวนซ้ำ (loop statements) ถูกใช้เพื่อควบคุมโปรแกรมเพื่อให้โปรแกรมทำบางส่วนของโค้ดซ้ำๆ มีลูปหลายประเภทที่เราสามารถใช้ได้ในภาษา C# และคุณจะได้เรียนรู้มันทั้งหมด เราจะเริ่มต้นกับลูปที่ง่ายที่สุดคือ while loop
คำสั่ง While loop
คำสั่ง while loop นั้นเป็นคำสั่งวนซ้ำที่ง่ายที่สุดในภาษา C# โดยมีรูปแบบการใช้งานดังนี้while (expression) { statements }while loop นั้นจะใช้ในการทำซ้ำส่วนของโปรแกรมในขณะที่ expression เป็น true จนกว่า expression เป็น false โปรแกรมจะออกจาก while loop และทำงานต่อไปหลังจากลูป
ตัวอย่างการใช้ while loop ในภาษา C#
using System; class WhileLoop { static void Main(string[] args) { int n = 1; while (n <= 10) { Console.WriteLine("Loop " + n); n++; } Console.WriteLine("Loop ended"); Console.ReadKey(); } }ใน ตัวอย่าง เป็นตัวอย่างในการใช้ while loop เพื่อนับเลข โดยโปรแกรมจะนับเริ่มจาก 1 ถึง 10 เราได้กำหนดค่าเริ่มต้นให้กับตัวนับเป็น 1 และ expression ของเราคือ
n <= 10
นั่นหมายความว่าโปรแกรมจะทำงานในลูปของ while ตราบใดที่ค่าของตัวแปร n
ยังน้อยกว่าหรือเท่ากับ 10 หลังจากนั้นมันจะออกจากลูป และแสดงข้อความ "Loop
ended" บรรทัดสุดท้าย ในลูปก็จะแสดงค่าของ n และเพิ่มค่าขึ้นในแต่ละรอบโดยคำสั่ง n++
เพื่อไม่ให้โปรแกรมอยู่ในลูปตลอดไปLoop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 Loop 7 Loop 8 Loop 9 Loop 10 Loop endedและนี่เป็นผลลัพธ์จากตัวอย่างการใช้ while loop เพื่อนับตัวเลข
คำสั่ง Do-while loop
do-while loop นั้นคล้ายกับ while loop ซึ่งมันสามารถใช้ทดแทนกันได้ โดยมีรูปแบบการใช้งานดังนี้do { statements } while (expression) ;สิ่ง ที่แตกต่างของ do-while loop คือการตรวจสอบ expression หลังจากการทำงานรอบแรกเสร็จสิ้น นั่นหมายความว่า do-while loop จะต้องทำงานอย่างน้อย 1 รอบ สังเกตุว่า expression จะอยู่ที่ตอน้ทายของลูป มาดูตัวอย่าง
using System; class DoWhileLoop { static void Main(string[] args) { int n; Console.WriteLine("Enter 0 to exit the loop"); do { Console.Write("Your number: "); int.TryParse(Console.ReadLine(), out n); Console.WriteLine("Number you entered is " + n); } while (n != 0); Console.WriteLine("Loop ended"); Console.ReadKey(); } }ใน ตัวอย่าง เป็นการใช้ do-while loop เพื่อถามให้ผู้ใช้ป้อนตัวเลข (0) เพื่อออกจากลูป ถ้าตัวเลขที่ใส่เข้ามานั้นไม่ใช่ศูนย์ โปรแกรมก็จะถามให้ใส่ใหม่เรื่อยไป และเมื่อใส่เลขศูนย์ มันทำให้ expression ของเราเป็น false และทำให้โปรแกรมออกจากลูป
Enter 0 to exit the loop Your number: 2 Number you entered is 2 Your number: 3 Number you entered is 3 Your number: 5 Number you entered is 5 Your number: 10 Number you entered is 10 Your number: 0 Number you entered is 0 Loop endedนี่เป็นผลลัพธ์ของตัวอย่างการใช้ do while loop เมื่อทดสอบรันโปรแกรมและป้อนตัวเลข
คำสั่ง For loop
for loop นั้นเป็นลูปที่ใช้ทำซ้ำคำสั่งหรือชุดของคำสั่งเป็นจำนวนรอบที่แน่นอน โดยมันมีรูปแบบในการใช้งานดังนี้for (initialize; condition; iterator) { statements }ใน การใช้ for loop เราสามารถกำหนดค่าเริ่มต้น สร้างเงื่อนไข (expression) และทำการกำหนดการเพิ่มค่าหรือลดค่าของตัวทำซ้ำได้ก่อนที่ลูปจะเริ่มทำงาน มันจะมีประโยชน์ที่จะให้สะดวกเมื่อเรารู้จำนวนรอบที่แน่นอนในการวนซ้ำของ โปรแกรม
using System; class ForLoop { static void Main(string[] args) { for (int i = 1; i <= 10; i++) { Console.WriteLine(i); } Console.ReadKey(); } }ใน ตัวอย่างเป็นการใช้ for loop เพื่อแสดงตัวเลข 1 ถึง 10 เช่นกัน สังเกตุว่าการกำหนดค่าเริ่มต้น การสร้างเงื่อนไขและการเพิ่มค่าจะถูกใส่ไว้ที่ส่วนหัวของโปรแกรมที่เดียว อย่างไรก็ตาม มันก็เป็นแค่ทางเลือก และเราสามารถนำไปใส่ที่ใหม่ได้ถ้าหากต้องการ เหมือนตัวอย่างข้างล่างนี้
using System; class ForLoop { static void Main(string[] args) { int i = 1; for (; i <= 10; ) { Console.WriteLine(i); i++; } Console.ReadKey(); } }และ ข้างล่างนี่เป็นผลลัพธ์ของโปรแกรมทั้งสองที่ใช้ for loop จะเห็นว่ามันได้ผลลัพธ์เหมือน while loop ซึ่งลูปทั้งสองประเภทนี้ก็สามารถใช้ทดแทนกันได้เช่นกัน แต่อาจจะเขียนแตกต่างกันเล็กน้อย
1 2 3 4 5 6 7 8 9 10
คำสั่ง foreach loop
foreach loop นั้นจะใช้สำหรับวนซ้ำค่าในอาเรย์ ที่ทราบหรือไม่ทราบขนาด โดยลูปจะเริ่มอ่านค่าจากสมาชิกตัวแรกในอาเรย์ ไปจนถึงตัวสุดท้ายusing System; class ForeachLoop { static void Main(string[] args) { int[] numbers = { 2, 4, -1, 5, 0, 8, 9 }; foreach (int i in numbers) { Console.WriteLine(i); } Console.ReadKey(); } }ในตัวอย่างเราได้สร้างอาเรย์ของตัวเลขแบบ integer ซึ่งมีสมาชิกทั้งหมด 8 ตัว ในการวนซ้ำแต่ละรอบ ค่าะเก็บไว้ที่ตัวแปร i แล้วก็แสดงผลออกทาง console
2 4 -1 5 0 8 9และนี่เป็นตัวอย่างผลลัพธ์ของการใช้ foreach loop
คำสั่ง break
คำ สั่ง break เพื่อบังคับให้ลูปสิ้นสุดการทำงานในทันที การหยุดการทำงานของลูปโดยการใช้คำสั่ง break มักจะสร้างให้กับเงื่อนไขบางอย่าง condition เพื่อทำให้โปรแกรมออกจากลูป มันสามารถใช้ได้กับลูปทุกประเภททั้ง while, do-while, for และ foreach loopมาดูตัวอย่างการใช้คำสั่ง break
using System; class ForLoop { static void Main(string[] args) { for (int i = 1; i <= 10; i++) { Console.WriteLine(i); if (i == 5) break; } Console.ReadKey(); } }ในตัวอย่างโปรแกรมจะออกจากลูปเมื่อ i มีค่าเท่ากับ 5 มันไม่สำคัญว่าเงื่อนไขในลูปที่
i <= 10
จะเป็นจริงหรือไม่1 2 3 4 5และข้างบนเป็นผลลัพธ์ของตัวอย่างการใช้คำสัง break
คำสั่ง continue
คำ สั่ง continue ใช้เพื่อข้ามการวนซ้ำรอบปัจจุบัน มันจะข้ามการทำงานคำสั่งทั้งหมดภายในลูปหลังจากคำสั่ง continue และไปเริ่มต้นรอบใหม่ มันสามารถใช้ได้กับลูปทุกประเภทusing System; namespace ContinueStatement { class Program { static void Main(string[] args) { for (int i = 1; i <= 10; i++) { if (i % 2 == 0) continue; Console.WriteLine(i); } Console.ReadKey(); } } }ในตัวอย่างเราได้ใช้คำสั่ง continue เพื่อข้ามการแสดงผลของตัวเลขคู่ โดยคำสั่งจะทำงานเมื่อ
i % 2 == 0
นั่นหมายความว่า i จะข้ามการแสดงผลไป1 3 5 7 9นี่เป็นฟลลัพธ์ตัวอย่างการใช้คำสั่ง continue
ใน บทนี้ คุณได้เรียนรู้เกี่ยวกับลูปประเภทต่างๆ ที่ใช้ในการควบคุมโปรแกรมในสถานะการต่างกัน และรู้ว่าเมื่อไหร่ที่ควรจะใช้คำสั่ง break และคำสัง continue
ไม่มีความคิดเห็น:
แสดงความคิดเห็น