ลูป 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ