This article is currently in the process of being translated into Thai (~99% done).
Loops
เทคนิคการเขียนโค้ดที่สำคัญอีกอันนึงคือ loop เป็นการทำซ้ำของโค้ดเป็นจำนวน x ครั้ง ใน C# จะมี 4 ชนิด
The while loop (ในขณะที่)
While loop เป็น loop แบบง่ายสุด เริ่มจากการประมวลผลเลย และทำต่อเนื่องเมื่อผลลัพธ์ยังเป็น true อยู่ ดังตัวอย่าง
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int number = 0;
while(number < 5)
{
Console.WriteLine(number);
number = number + 1;
}
Console.ReadLine();
}
}
}
เมื่อ run โค้ด เราจะได้ผลลัพธ์เป็นรายการจาก 0-4 เนื่องจากแต่ละ loop เราเพิ่มทีละ 1 แล้วทำไมถึงมีแค่ 4 ไม่มี 5? เพราะเงื่อนไขจะเป็นจริงเมื่อ ตัวแปร number ของเราน้อยกว่า 5 และการประมวลผลเงื่อนไขก่อนที่จะไปที่บล็อคคำนวณผลลัพธ์
The do loop (ทำ)
Do loop นี้ตรงข้ามกับ while loop เพราะจะ คำนวณผลลัพธ์ก่อนที่จะประมวลผลเงื่อนไข
int number = 0;
do
{
Console.WriteLine(number);
number = number + 1;
} while(number < 5);
ผลลัพธ์ในตัวอย่างนี้ จะออกมาเหมือนกัน loop จะหยุดทำงานเมื่อ ตัวแปร number ของเรามากกว่า 5
The for loop (เนื่องจาก)
For loop จะแตกต่างกันนิดหน่อย เพราะเราต้องบอกว่าจะให้ประมวลผลกี่รอบ ดังตัวอย่าง
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int number = 5;
for(int i = 0; i < number; i++)
Console.WriteLine(i);
Console.ReadLine();
}
}
}
ผลลัพธ์ในตัวอย่างนี้ จะออกมาเหมือนกัน แต่จะเห็นได้ว่าโค้ดเขียนสั้นกว่า ประกอบไปด้วย 3 ส่วน ตั้งค่าเริ่มต้น, , ส่วนที่เป็นเงื่อนไข, และส่วนที่เป็นตัวนับเพื่อเพิ่มจำนวนของเงื่อนไข (++ เท่ากับ variable = variable + 1)
ในส่วนแรกเราตั้งค่าตัวแปร i ให้เป็น 0 แต่ละครั้งที่ ตัวแปร i จะโดนเปรียบเทียบกับตัวแปร number ของเรา เมื่อน้อยกว่าก็จะทำงานต่อ หลังากนั้น i ก็จะถูกเพิ่มค่าทีละ 1
ลองเปลี่ยนค่าของ ตัวแปร number ดู ให้เป็นค่าที่มากขึ้นหรือน้อยลง เพื่อดูการทำงานของ loop
The foreach loop (สำหรับแต่ละ)
Loop แบบสุดท้ายที่เราจะมาทำความรู้จักกันคือ foreach loop มันจะทำงานกับ collection item (กลุ่มของข้อมูล) เช่น array ในตัวอย่างจะเป็น list (รายการข้อมูล) แบบง่ายๆ เรียกว่า ArrayList ทำงานคล้ายๆ array เราจะเรียนในบทต่อๆไป
using System;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add("John Doe");
list.Add("Jane Doe");
list.Add("Someone Else");
foreach(string name in list)
Console.WriteLine(name);
Console.ReadLine();
}
}
}
ก่อนอื่นเรามาสร้างตัวแปร ArrayList เราจะใช้ foreach loop ด้วยการตั้งชื่อตัวแปรของ item เช่นในที่นี้คือ string เพราะเราต้องเขียนโค้ดเพื่อจะบอก compiler ว่า datatype แบบไหนที่เราต้องการใช้ประมวลผล เราสามารถใช้ object ของ class ก็ได้
ถ้าเราใช้ตัวแปรแบบกลุ่มของข้อมูล ส่วนใหญ่เราจะใช้ foreach loop เพราะว่าใช้งานง่ายกว่า loop แบบอื่น