วนซ้ำผ่านอาร์เรย์
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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศอาร์เรย์
- ดัชนีและความยาว
- วนซ้ำผ่านอาร์เรย์
- อาร์เรย์หลายมิติ