วันพุธที่ 17 สิงหาคม พ.ศ. 2559

Enums

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...