ทําความเข้าใจไวยากรณ์ของวิธีการ
คุณอาจคุ้นเคยกับวิธีการบางอย่างอยู่แล้ว เช่น Console.WriteLine() หรือ random.Next(). คุณอาจชื่นชมวิธีที่วิธีการเหล่านี้ทําให้งานง่ายขึ้นและช่วยให้คุณสร้างโค้ดได้ง่ายขึ้น ในหน่วยนี้ คุณจะได้เรียนรู้วิธีสร้างวิธีการของคุณเอง
วิธีการทํางาน
กระบวนการพัฒนาวิธีการเริ่มต้นด้วยการสร้างลายเซ็นวิธีการ ลายเซ็นเมธอดประกาศชนิดส่งคืน ชื่อ และพารามิเตอร์อินพุตของเมธอด ตัวอย่างเช่น พิจารณาลายเซ็นเมธอดต่อไปนี้:
void SayHello();
ชื่อเมธอดคือ SayHello. ประเภทการส่งคืนคือ voidซึ่งหมายความว่าเมธอดจะไม่ส่งคืนข้อมูล อย่างไรก็ตาม เมธอดสามารถส่งคืนค่าของชนิดข้อมูลใดๆ เช่น bool, , intและ doubleอาร์เรย์ได้เช่นกัน พารามิเตอร์วิธีการ (ถ้ามี) ควรรวมอยู่ในวงเล็บ() เมธอดสามารถยอมรับพารามิเตอร์หลายตัวของชนิดข้อมูลใดก็ได้ ในตัวอย่างนี้ เมธอดไม่มีพารามิเตอร์
ก่อนที่คุณจะสามารถเรียกใช้วิธีการ คุณจําเป็นต้องเพิ่มคําจํากัดความ คําจํากัดความของเมธอดใช้วงเล็บเหลี่ยม {} เพื่อบรรจุโค้ดที่ดําเนินการเมื่อมีการเรียกใช้เมธอด เช่น:
void SayHello()
{
Console.WriteLine("Hello World!");
}
ตอนนี้เมธอดจะพิมพ์เมื่อ Hello World! ใดก็ตามที่มีการเรียก
การเรียกเมธอด
วิธีการถูกเรียกใช้โดยใช้ชื่อและรวมอาร์กิวเมนต์ที่จําเป็น พิจารณาสิ่งต่อไปนี้:
Console.Write("Input!");
สตริง "Input!" คืออาร์กิวเมนต์ที่ให้ไว้กับ Write เมธอด
วิธีการสามารถเรียกได้ก่อนหรือหลังคําจํากัดความ ตัวอย่างเช่น สามารถ SayHello กําหนดและเรียกใช้วิธีการโดยใช้ไวยากรณ์ต่อไปนี้:
SayHello();
void SayHello()
{
Console.WriteLine("Hello World!");
}
โปรดสังเกตว่าไม่จําเป็นต้องมีการกําหนดวิธีการก่อนที่คุณจะเรียกใช้ ความยืดหยุ่นนี้ช่วยให้คุณสามารถจัดระเบียบโค้ดได้ตามที่เห็นสมควร เป็นเรื่องปกติที่จะกําหนดวิธีการทั้งหมดเมื่อสิ้นสุดโปรแกรม เช่น:
int[] a = {1,2,3,4,5};
Console.WriteLine("Contents of Array:");
PrintArray();
void PrintArray()
{
foreach (int x in a)
{
Console.Write($"{x} ");
}
Console.WriteLine();
}
การดําเนินการเมธอด
เมื่อคุณเรียกใช้เมธอด โค้ดในเนื้อหาเมธอดจะถูกดําเนินการ ซึ่งหมายความว่าการควบคุมการดําเนินการจะถูกส่งผ่านจากผู้เรียกเมธอดไปยังเมธอด การควบคุมจะถูกส่งคืนไปยังผู้เรียกหลังจากที่เมธอดเสร็จสิ้นการดําเนินการ ตัวอย่างเช่น พิจารณาโค้ดต่อไปนี้:
Console.WriteLine("Before calling a method");
SayHello();
Console.WriteLine("After calling a method");
void SayHello()
{
Console.WriteLine("Hello World!");
}
รหัสนี้แสดงผลลัพธ์ต่อไปนี้:
Before calling a method
Hello World!
After calling a method
เมื่อกําหนดวิธีการแล้ว สามารถเรียกได้ตลอดเวลา กี่ครั้งก็ตามที่คุณต้องการ คุณสามารถใช้วิธีการภายในคําสั่ง if-else for-loops คําสั่ง switch แม้กระทั่งเพื่อเริ่มต้นตัวแปร และอื่นๆ อีกมากมาย!
แนวทางปฏิบัติที่ดีที่สุด
เมื่อเลือกชื่อวิธีการ สิ่งสําคัญคือต้องทําให้ชื่อกระชับและทําให้ชัดเจนว่าวิธีการนั้นทํางานอะไร ชื่อเมธอดควรเป็นกรณี Pascal และโดยทั่วไปไม่ควรขึ้นต้นด้วยตัวเลข ชื่อสําหรับพารามิเตอร์ควรอธิบายว่าพารามิเตอร์แสดงถึงข้อมูลประเภทใด พิจารณาลายเซ็นเมธอดต่อไปนี้:
void ShowData(string a, int b, int c);
void DisplayDate(string month, int day, int year);
วิธีที่สองอธิบายประเภทของข้อมูลที่แสดงและให้ชื่อที่สื่อความหมายสําหรับพารามิเตอร์
เมื่อคุณมีพื้นฐานแล้ว คุณก็พร้อมที่จะเริ่มเขียนวิธีการของคุณเองแล้ว!