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

วนซ้ำผ่านอาร์เรย์

for และ foreach

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

เหตุใดจึงต้องใช้ลูป

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

ด้วยวิธีนี้ คุณสามารถแสดงผล หาผลรวม หรือตรวจสอบค่าทั้งหมดได้ด้วยโค้ดเพียงไม่กี่บรรทัด

ลูป <code>for</code>

ลูป for ใช้ตัวนับ ให้เริ่มต้นตัวนับที่ 0 และทำงานต่อไปตราบใดที่ตัวนับน้อยกว่า Length โดยเพิ่มค่าทีละหนึ่งในแต่ละครั้ง

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

int[] nums = { 10, 20, 30 };
for (int i = 0; i < nums.Length; i++)
{
    Console.WriteLine(nums[i]);
}

โปรแกรม <code>for</code> ฉบับสมบูรณ์

โปรแกรมฉบับสมบูรณ์นี้วนผ่านสีต่างๆ และแสดงสีแต่ละสีในบรรทัดของตัวเอง

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

string[] colors = { "red", "green", "blue" };
for (int i = 0; i < colors.Length; i++)
{
    Console.WriteLine(colors[i]);
}

ลูป <code>foreach</code>

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

คุณไม่ต้องจัดการตัวนับ จึงมีโอกาสเกิดข้อผิดพลาดน้อยลง

string[] colors = { "red", "green", "blue" };
foreach (string c in colors)
{
    Console.WriteLine(c);
}

ลูป <code>foreach</code> พร้อม <code>var</code>

คุณสามารถใช้ var ใน foreach เพื่อให้ C# อนุมานชนิดข้อมูลของสมาชิก

วิธีนี้ทำให้ลูปสั้นลงและยังคงตรวจสอบชนิดข้อมูลอย่างปลอดภัย

int[] nums = { 1, 2, 3 };
foreach (var n in nums)
{
    Console.WriteLine(n * 2);
}

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

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

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

int[] nums = { 1, 2, 3 };
for (int i = 0; i < nums.Length; i++)
{
    nums[i] = nums[i] + 1; // updates the array
}
Console.WriteLine(nums[0]); // 2

การหาผลรวมสมาชิก

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

รูปแบบนี้ใช้ได้กับการนับ ผลรวม และค่าเฉลี่ย

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

การค้นหาค่าสูงสุด

หากต้องการหาค่าที่มากที่สุด ให้เริ่มจากสมมติว่าสมาชิกตัวแรกเป็นค่าสูงสุด จากนั้นเปรียบเทียบกับสมาชิกตัวอื่นทุกตัว

เมื่อใดก็ตามที่พบค่าที่มากกว่า ให้ปรับปรุงค่าสูงสุด

int[] nums = { 3, 9, 2, 7 };
int max = nums[0];
foreach (int n in nums)
{
    if (n > max) max = n;
}
Console.WriteLine(max); // 9

การค้นหาค่า

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

ตัวแปรบ่งชี้จะจดจำว่าพบสมาชิกนั้นแล้วหรือไม่

string[] names = { "Ana", "Bo", "Cy" };
bool found = false;
foreach (string n in names)
{
    if (n == "Bo") { found = true; break; }
}
Console.WriteLine(found); // True

การแสดงผลพร้อมดัชนี

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

วิธีนี้เหมาะอย่างยิ่งสำหรับรายการที่มีหมายเลขกำกับ

string[] tasks = { "Wake", "Eat", "Code" };
for (int i = 0; i < tasks.Length; i++)
{
    Console.WriteLine((i + 1) + ". " + tasks[i]);
}

การวนผ่านช่วง

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

ในที่นี้เราข้ามสมาชิกตัวแรกด้วยการเริ่มที่ดัชนี 1

int[] nums = { 10, 20, 30, 40 };
for (int i = 1; i < nums.Length; i++)
{
    Console.WriteLine(nums[i]); // 20, 30, 40
}

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

ทดสอบความรู้เกี่ยวกับลูปของคุณ

สรุปทบทวน

คุณได้เรียนรู้การวนผ่านอาร์เรย์ด้วย for (ตัวนับและดัชนี) และ foreach (เข้าถึงค่าแต่ละตัวโดยตรง)

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

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

บทเรียน “วนซ้ำผ่านอาร์เรย์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำผ่านอาร์เรย์”

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

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

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

บทเรียน “วนซ้ำผ่านอาร์เรย์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ประกาศอาร์เรย์
  2. ดัชนีและความยาว
  3. วนซ้ำผ่านอาร์เรย์
  4. อาร์เรย์หลายมิติ
← กลับไปที่ C# Academy