C# C-Sharp คือ ตอนที่ 3 : การควบคุมโฟลว์ (Control Flow)

  1. การควบคุมโฟลว์คืออะไร
  2. Conditional Statements
    2.1 คำสั่ง (Statements) if-Else
    2.2 คำสั่ง Switch-Case
  3. การวนซ้ำ (Loops)
    3.1 ลูป For
    3.2 ลูป while และ Do-While
    3.3 ลูป Foreach
  4. คำสั่ง Jump

การทำแอพ ไม่ว่าจะเป็นแอปพลิเคชันมือถือ เดสก์ท็อป หรือบนเว็บ เกี่ยวข้องกับเทคโนโลยีและภาษาโปรแกรมที่หลากหลาย หนึ่งในภาษาที่ใช้กันอย่างแพร่หลายคือ C# ซึ่งเป็นภาษาอเนกประสงค์และทรงพลังสำหรับการทำแอพประเภทต่างๆ พื้นฐานสำหรับภาษาโปรแกรมใดๆ รวมถึง C# คือแนวคิดของโฟลว์การควบคุม ซึ่งจะกำหนดลำดับการดำเนินการคำสั่งหรือคำสั่งในโค้ดของคุณ ในบทความนี้ เราจะสำรวจโฟลว์การควบคุมในภาษา C# ในเชิงลึก และทำความเข้าใจเกี่ยวกับการประยุกต์ใช้ในการทำแอพ

1. การควบคุมโฟลว์คืออะไร

ใน C# โฟลว์การควบคุมหมายถึงลำดับที่โค้ดของโปรแกรมดำเนินการ การเปลี่ยนโฟลว์ควบคุมช่วยให้เรามั่นใจได้ว่าโค้ดบางบล็อกทำงานภายใต้เงื่อนไขเฉพาะ หรือโค้ดบางโค้ดทำซ้ำตามจำนวนครั้งที่กำหนด องค์ประกอบพื้นฐานของโฟลว์ควบคุมคือคำสั่งแบบมีเงื่อนไข ( if-else, switch-case) และลูป ( for, while, do-while, foreach) รวมถึงคำสั่งกระโดด ( break, continue, return, goto)

2. Conditional Statements

2.1 คำสั่ง (Statements) if-Else

คำสั่ง if นี้เป็นคำสั่งขั้นตอนการควบคุมที่ตรงไปตรงมาที่สุด เป็นการตรวจสอบว่าเงื่อนไขบางอย่างเป็นจริงหรือไม่ ถ้าใช่ มันจะเรียกใช้งานบล็อกของโค้ด คำสั่ง else สามารถมาพร้อมกับifคำสั่งและบล็อกของโค้ดดำเนินการเมื่อ if ไม่ตรงตามเงื่อนไข ตัวอย่างเช่น ในแอปพลิเคชันสภาพอากาศ คุณอาจมีคำสั่ง if-else เพื่อตรวจสอบสภาพอากาศและแสดงข้อความที่เหมาะสม:

if (weatherCondition == "Rainy")
{
    Console.WriteLine("It's raining! Don't forget your umbrella.");
}
else
{
    Console.WriteLine("The weather is clear. Have a great day!");
}

2.2 คำสั่ง Switch-Case

คำสั่ง switch จะใช้เมื่อคุณต้องการตรวจสอบตัวแปรกับชุดของค่าต่างๆ แต่ละค่าที่คุณตรวจสอบจะอ้างอิงเป็น casea กรณี default และปัญหาจะถูกดำเนินการเมื่อไม่ตรงตามเงื่อนไขกรณีอื่นๆ การใช้ switch-case งานในแอปพลิเคชันสามารถเห็นได้ในระบบสัญญาณไฟจราจร ซึ่งกรณีต่างๆ จะแสดงสถานะแสงต่างๆ กัน:

switch (trafficLightColor)
{
    case "Red":
        Console.WriteLine("Stop!");
        break;
    case "Yellow":
        Console.WriteLine("Prepare to stop.");
        break;
    case "Green":
        Console.WriteLine("Go!");
        break;
    default:
        Console.WriteLine("Invalid color. Check the traffic light system.");
        break;
}

3. การวนซ้ำ (Loops)

การวนซ้ำมีความสำคัญต่อการดำเนินการบล็อกโค้ดหลายๆ ครั้ง นี่เป็นสิ่งสำคัญอย่างยิ่งในการทำแอพ ซึ่งคุณมักจะต้องประมวลผลคอลเลกชันของรายการต่างๆ เช่น ข้อมูลเข้าของผู้ใช้ ไฟล์ หรือบันทึกข้อมูล

3.1 ลูป For

การforวนซ้ำมีองค์ประกอบสามส่วน: การเริ่มต้น เงื่อนไข และการวนซ้ำ ใช้เมื่อคุณรู้ว่าควรวนลูปกี่ครั้ง ตัวอย่างเช่น ในแอปพลิเคชันเกม คุณอาจต้องวนซ้ำ for เพื่ออัปเดตคะแนนของผู้เล่นทั้งหมด:

for (int i = 0; i < playerCount; i++)
{
    UpdatePlayerScore(players[i]);
}

3.2 ลูป while และ Do-While

การวนซ้ำ while และการวนซ้ำ do-while ดำเนินการบล็อกของโค้ดต่อไปตราบเท่าที่เงื่อนไขบางอย่างเป็นจริง ข้อแตกต่างระหว่างสองสิ่งนี้อยู่ที่การดำเนินการ: ลูป while จะตรวจสอบเงื่อนไขก่อนดำเนินการบล็อกโค้ด ในขณะที่ลูป do-while จะตรวจสอบเงื่อนไขหลังจากดำเนินการบล็อกโค้ด การวนซ้ำเหล่านี้มักใช้ในแอปพลิเคชันที่ต้องมีการโต้ตอบกับผู้ใช้ เช่น ระบบเมนู:

while (userOption != "Exit")
{
    DisplayMenu();
    userOption = GetUserOption();
    ProcessUserOption(userOption);
}

3.3 ลูป Foreach

การวนซ้ำ foreach จะวนซ้ำแต่ละรายการในคอลเล็กชัน การวนซ้ำนี้มีประโยชน์อย่างยิ่งในแอปพลิเคชันที่คุณต้องการประมวลผลอาร์เรย์หรือรายการ ตัวอย่างเช่น คุณอาจมีรายการอีเมลในแอปพลิเคชันจดหมายข่าว:

foreach (string email in emailList)
{
    SendNewsletter(email);
}

4. คำสั่ง Jump

คำสั่ง Jump เช่น break, continue, return และ goto อนุญาตให้ควบคุมโฟลว์การควบคุมได้มากขึ้น break ใช้เพื่อออกจากลูปหรือคำสั่ง switch ปัจจุบัน continueใช้เพื่อข้ามการวนซ้ำปัจจุบันของลูป return ใช้เพื่อออกจากเมธอดปัจจุบันและส่งคืนค่า (หากเมธอดไม่ใช่ void) และ goto ใช้เพื่อถ่ายโอนการควบคุมไปยังคำสั่งที่มีป้ายกำกับ .

ตัวอย่างเช่น ในแอปพลิเคชันการสตรีมเพลง หากถึงเงื่อนไขบางอย่าง เช่น การสิ้นสุดของเพลงbreakสามารถใช้เพื่อออกจากลูปและสิ้นสุดการเล่นเพลงได้:

while (true) // continuous play
{
    PlaySong(currentSong);
    if (songEnded)
        break;  // stop the play loop
}

โฟลว์การควบคุมใน C# เป็นส่วนสำคัญของการทำแอพ ช่วยให้นักพัฒนาสามารถควบคุมโฟลว์ของโปรแกรมตามเงื่อนไข และทำให้งานที่ทำซ้ำๆ มีประสิทธิภาพ ความเข้าใจอย่างถ่องแท้เกี่ยวกับโครงสร้างโฟลว์การควบคุม เช่น ข้อความแสดงเงื่อนไข ลูป และคำสั่งกระโดด ช่วยให้นักพัฒนาสามารถเขียนโค้ดที่มีประสิทธิภาพและบำรุงรักษาได้สำหรับแอปพลิเคชันต่างๆ ตั้งแต่แอปพลิเคชันบนเว็บและมือถือไปจนถึงการทำแอพเกม ไม่ว่าคุณจะเป็นมือใหม่หรือนักพัฒนาที่มีประสบการณ์ โฟลว์การควบคุมที่เชี่ยวชาญจะเป็นสิ่งที่มีค่ายิ่งในเส้นทางการทำแอพ C# ของคุณ


C# C-Sharp คืออะไร

C# C-Sharp คือ ตอนที่ 2 : พื้นฐานไวยากรณ์ (Basics of C# Syntax)
C# C-Sharp คือ ตอนที่ 4 : การจัดการข้อยกเว้น (Exception Handling)