Enum คืออะไร
Enum เป็นประเภทข้อมูลที่เป็นชุดของตัวเลขจำนวนเต็ม โดยค่าที่ใช้ในการประกาศ enum นั้นจะเป็น String literal ใดๆ โดยค่าเหล่านี้ถือว่าเป็นค่าคงที่ของจำนวนเต็ม รูปแบบการใช้ enum ในภาษา C# เป็นดังนี้:enum Name{ Value1, Value2, ... };โดยคำสั่ง
enum
นั้นจะใช้สำหรับการสร้าง enum และ Name
เป็นชื่อชอง enum ที่สร้างขึ้น และภายในวงเล็บ {}
นั้นจะเป็นชุดค่าของ enum โดยมาสามารถเป็น literal ใดๆ ที่ C# อนุญาติให้ทำได้ต่อไปมาดูตัวอย่างการสร้างและใช้งานของ enum
using System; namespace EnumExample { class Program { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; static void Main(string[] args) { int a = (int)Days.Sunday; int b = (int)Days.Monday; Console.WriteLine("Sunday is number #" + a); Console.WriteLine("Monday is number #" + b); Console.ReadKey(); } } }ใน ตัวอย่าง เราได้ประกาส enum ของวันขึ้นมา โดยค่าของมันจะเรียงจาก Sunday ถึง Saturday ซึ่งมันแทนได้กับค่าจำนวนเต็มที่เริ่มจาก 0 ในการเปรียบเทียบหรือกำหนดค่านั้นในภาษา C# ข้อมูลต้องตรงกันเสมอ นั้นคือต้องทำการ casting ก่อนทุกครั้ง และข้างล่างนี้คือผลของการรันโปรแกรมนี้
Sunday is number #0 Monday is number #1นอกจากนี้เรายังสามารถสร้างตัวแปรประเภท Enum เพื่อที่จะนำมาเก็บข้อมูล และ casting ข้อมูลเป็นในรูปแบบของ enum ได้
using System; namespace EnumExample { class Program { enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; static void Main(string[] args) { Days weekend = Days.Monday; if (weekend == Days.Sunday || weekend == (Days)6) { Console.WriteLine("This is week end."); } else { Console.WriteLine("This is week day."); } Console.ReadKey(); } } }จากตัวอย่าง เราได้สร้างตัวแปร enum คือ weekend มาเก็บข้อมูล มันสามารถนำไปเปรียบเทียบกับข้อมูลประเภท enum ได้เลยหรือตัวเลขก็ได้
Custom enum indexes
นอกจากนี้ ในภาษา C# ยังมีความสามารถที่จะให้เรากำหนดค่าให้กับ enum เองได้using System; namespace EnumExample { class Program { enum CarStatus { Poweroff = 0, Runing = 5, Stoped = 2, Overhead = 10, Runing_backward = 9 }; static void Main(string[] args) { int[] schedul = { 5, 5, 10, 2, 0 }; for (int i = 0; i <schedul.Length; i++) { Console.WriteLine("Step " + (i + 1) + ": " + (CarStatus)schedul[i]); } Console.ReadKey(); } } }ใน ตัวอย่าง เราได้ใช้ enum ในการเก็บ state ของรถยนต์ ซึ่งในภาษา C# เราสามารถแสดงค่าของ enum ได้เช่นกัน ข้างล่างเป็นลัพธ์ของโปรแกรม
Step 1: Runing Step 2: Runing Step 3: Overhead Step 4: Stoped Step 5: Poweroffในบทนี้ คุณจะได้รู้จักและเรียนรู้วิธีการใช้ enum ในภาษา C# ซึ่งมันสามารถนำไปประยุกต์ใช้ได้ในหลายสถานะการณ์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น