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# ซึ่งมันสามารถนำไปประยุกต์ใช้ได้ในหลายสถานะการณ์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น