0Pricing
C# Academy · บทเรียน

ลูป foreach

วนซ้ำโดยไม่ใช้ดัชนี

ลูป foreach เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

ลูปสำหรับแต่ละรายการคืออะไร

ลูป foreach ช่วยให้คุณเข้าถึงสมาชิกทุกตัวในคอลเลกชันทีละตัว

คุณไม่ต้องจัดการดัชนีหรือตัวนับ C# จะวนผ่านคอลเลกชันให้คุณและส่งสมาชิกแต่ละตัวไปยังตัวแปรที่คุณตั้งชื่อ

นี่เป็นวิธีที่เป็นระเบียบที่สุดในการอ่านสมาชิกทั้งหมดในอาร์เรย์หรือรายการ

ไวยากรณ์พื้นฐาน

โครงสร้างนั้นเรียบง่าย: foreach (var item in collection) ตามด้วยบล็อกคำสั่ง

ในแต่ละรอบ item จะเก็บสมาชิกตัวถัดไป ลูปจะจบลงโดยอัตโนมัติหลังจากสมาชิกตัวสุดท้าย

foreach (var name in names)
{
    Console.WriteLine(name);
}

ลูปสำหรับแต่ละรายการแรกของคุณ

ให้ลองวนผ่านอาร์เรย์ของสตริงและแสดงชื่อแต่ละชื่อ

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

string[] names = { "Ada", "Linus", "Grace" };
foreach (var name in names)
{
    Console.WriteLine(name);
}

ตัวแปรของลูป

ตัวแปรของลูป (ในที่นี้คือ n) เป็นสำเนาใหม่ที่สร้างขึ้นสำหรับสมาชิกแต่ละตัว

คุณสามารถใช้ชื่อใดก็ได้ตามต้องการ ควรเลือกชื่อที่อธิบายสมาชิกนั้น เช่น number หรือ n

int[] scores = { 90, 75, 88 };
foreach (var n in scores)
{
    Console.WriteLine(n);
}

การใช้ var เทียบกับชนิดข้อมูลที่ระบุชัดเจน

คุณสามารถเขียนชนิดข้อมูลของสมาชิกอย่างชัดเจนแทนการใช้ var ได้

ทั้งสองวิธีทำงานเหมือนกัน โดย var ช่วยให้คอมไพเลอร์อนุมานชนิดข้อมูล ทำให้โค้ดสั้นลง

int[] scores = { 90, 75, 88 };
foreach (int score in scores)
{
    Console.WriteLine(score);
}

การทำงานภายในบล็อกคำสั่ง

บล็อกคำสั่งของลูปสามารถทำอะไรก็ได้ เช่น การคำนวณ เงื่อนไข หรือการสร้างผลรวม

ในที่นี้เราเพิ่มค่าแต่ละค่าลงในผลรวมสะสม แล้วแสดงผลหลังจากลูปจบ

int[] nums = { 4, 8, 15 };
int total = 0;
foreach (var x in nums)
{
    total += x;
}
Console.WriteLine(total);

ลูปสำหรับแต่ละรายการพร้อมเงื่อนไข

คุณสามารถใส่ if ไว้ภายในลูปเพื่อทำงานเฉพาะกับสมาชิกบางตัว

ตัวอย่างนี้แสดงเฉพาะจำนวนคู่จากอาร์เรย์

int[] nums = { 1, 2, 3, 4, 5, 6 };
foreach (var x in nums)
{
    if (x % 2 == 0)
        Console.WriteLine(x);
}

ลูปสำหรับแต่ละรายการใช้สำหรับอ่าน ไม่ใช่แทนที่

ตัวแปรของลูปเป็นแบบอ่านอย่างเดียวภายในลูป คุณไม่สามารถกำหนดค่าใหม่ให้ตัวแปรนั้นเพื่อเปลี่ยนคอลเลกชันได้

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

foreach (var x in nums)
{
    x = x + 1; // ERROR: cannot assign to iteration variable
}

การวนผ่านอักขระ

สตริงคือชุดลำดับของอักขระ ดังนั้นคุณจึงสามารถใช้ foreach วนผ่านสตริงได้เช่นกัน

ในแต่ละรอบ คุณจะได้รับ char หนึ่งตัวจากข้อความ

string word = "code";
foreach (var c in word)
{
    Console.WriteLine(c);
}

ควรใช้ลูปสำหรับแต่ละรายการเมื่อใด

ใช้ foreach เมื่อคุณต้องการเข้าถึงสมาชิกทุกตัวและไม่จำเป็นต้องใช้ดัชนี

หากคุณต้องการตำแหน่งหรือต้องการแก้ไขคอลเลกชันขณะวนลูป ลูป for จะเหมาะกว่า

ลูปสำหรับแต่ละรายการเทียบกับลูปแบบนับรอบ

ลูป for จัดการตัวนับและใช้การเข้าถึงด้วยดัชนี เช่น arr[i]

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

for (int i = 0; i < names.Length; i++)
{
    Console.WriteLine(names[i]);
}

แบบทดสอบสั้นๆ

ทดสอบสิ่งที่คุณเรียนรู้เกี่ยวกับลูปสำหรับแต่ละรายการ

สรุปทบทวน

คุณได้เรียนรู้ว่า foreach เข้าถึงสมาชิกทุกตัวในคอลเลกชันโดยไม่ต้องใช้ดัชนี

ตัวแปรของลูปเป็นสำเนาแบบอ่านอย่างเดียวของสมาชิกแต่ละตัว ใช้ foreach สำหรับการอ่านอย่างเป็นระเบียบ และใช้ for เมื่อคุณต้องการตำแหน่งหรือต้องการแก้ไขสมาชิก

คำถามที่พบบ่อย

บทเรียน “ลูป foreach” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลูป foreach” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลูป foreach”

วนซ้ำโดยไม่ใช้ดัชนี คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ลูป foreach” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลูป foreach
  2. วนซ้ำผ่านคอลเลกชัน
  3. break และ continue
  4. ข้อผิดพลาดทั่วไปในการวนซ้ำ
← กลับไปที่ C# Academy