Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ควบคุม For Loop ด้วย Break และ Continue ใน C#

การใช้ Break และ Continue ใน For Loop (C#)

break และ continue ใช้ควบคุมการทำงานของ Loop ให้ยืดหยุ่นขึ้น

Break Statement

ออกจาก Loop ทันที (Terminate the loop)

for (int i = 1; i <= 10; i++)
{
    int input = Convert.ToInt32(Console.ReadLine());
    
    if (input < 0)
    {
        break; // ออกจาก Loop ทันทีเมื่อเจอตัวเลขติดลบ
    }
    
    sum += input;
}

Continue Statement

ข้ามรอบปัจจุบัน ไปรอบถัดไปทันที (Skip current iteration)

for (int i = 1; i <= 10; i++)
{
    int input = Convert.ToInt32(Console.ReadLine());
    
    if (input < 0)
    {
        continue; // ข้ามการบวก ต่อรอบถัดไปเลย
    }
    
    sum += input;
}

ตัวอย่างครบถ้วน: รับค่าจนกว่าจะกด 0

using System;

class Program
{
    static void Main()
    {
        int sum = 0;
        
        Console.WriteLine("Enter numbers (0 to stop):");
        
        for (int i = 1; ; i++) // Infinite loop
        {
            Console.Write($"#{i}: ");
            string input = Console.ReadLine();
            
            if (!int.TryParse(input, out int num))
            {
                Console.WriteLine("Invalid input!");
                continue; // ข้ามรอบนี้
            }
            
            if (num == 0)
                break; // ออกจาก Loop
            
            sum += num;
        }
        
        Console.WriteLine($"Sum = {sum}");
    }
}

ผลลัพธ์ตัวอย่าง

Enter numbers (0 to stop):
#1: 10
#2: 20
#3: -5
#4: 30
#5: 0
Sum = 60

สรุปความแตกต่าง

คำสั่งพฤติกรรมใช้เมื่อไหร่
breakออกจาก Loop ทั้งหมดเจอเงื่อนไขหยุดทำงาน (พบค่าที่ต้องการ, Error, Sentinel value)
continueข้ามรอบนี้ ไปรอบต่อไปข้ามข้อมูลที่ไม่ถูกต้อง/ไม่ต้องการประมวลผล