ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับการใช้คำสั่งวนซ้ำเพื่อควบคุมโปรแกรม
เช่น คำสั่ง 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 แล้วก็แสดงผลออกทาง console2 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น