0Pricing
C# Academy · บทเรียน

การกำหนดและใช้งาน Enum

สร้าง Enum ที่มีค่าแบบกำหนดเองและค่าโดยนัย

การกำหนดและใช้งาน Enum เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

อีนัมคืออะไร

enum คือชุดค่าคงที่ที่เกี่ยวข้องกันและมีชื่อกำกับ ช่วยให้โค้ดอ่านเข้าใจได้ง่ายขึ้นด้วยการแทนที่ตัวเลขมหัศจรรย์ด้วยชื่อที่สื่อความหมาย

using System;

enum Direction { North, East, South, West }
class Program {
    static void Main() {
        Direction d = Direction.East;
        Console.WriteLine(d);
    }
}

การประกาศอีนัม

คุณประกาศอีนัมด้วยคีย์เวิร์ด enum และแสดงสมาชิกของอีนัม โดยค่าเริ่มต้น สมาชิกตัวแรกคือ 0 ตัวถัดไปคือ 1 และเพิ่มขึ้นต่อไปตามลำดับ

using System;

enum Day { Mon, Tue, Wed }
class Program {
    static void Main() {
        Console.WriteLine((int)Day.Mon);
        Console.WriteLine((int)Day.Wed);
    }
}

ค่าพื้นฐานที่กำหนดเอง

คุณสามารถกำหนดตัวเลขอย่างชัดเจนได้ สมาชิกที่ไม่ได้กำหนดค่าจะใช้ค่าต่อจากสมาชิกก่อนหน้า

using System;

enum Status { Active = 1, Paused = 5, Stopped }
class Program {
    static void Main() {
        Console.WriteLine((int)Status.Stopped);
    }
}

การเลือกชนิดข้อมูลพื้นฐาน

อีนัมใช้ int เป็นค่าเริ่มต้น แต่คุณสามารถเลือกชนิดจำนวนเต็มอื่น เช่น byte เพื่อประหยัดพื้นที่ได้

using System;

enum Level : byte { Low = 1, High = 200 }
class Program {
    static void Main() {
        Console.WriteLine((byte)Level.High);
    }
}

อีนัมในตัวแปร

ใช้ชนิดอีนัมเหมือนชนิดอื่น ๆ สำหรับตัวแปร พารามิเตอร์ และฟิลด์

using System;

enum Color { Red, Green, Blue }
class Program {
    static void Describe(Color c) {
        Console.WriteLine("Color is " + c);
    }
    static void Main() {
        Describe(Color.Green);
    }
}

อีนัมใน switch

อีนัมทำงานร่วมกับ switch ได้อย่างเหมาะสม ทำให้การแตกแขนงที่ครอบคลุมทุกกรณีอ่านเข้าใจได้ชัดเจน

using System;

enum Signal { Stop, Go, Caution }
class Program {
    static void Main() {
        Signal s = Signal.Go;
        switch (s) {
            case Signal.Stop: Console.WriteLine("Halt"); break;
            case Signal.Go: Console.WriteLine("Move"); break;
            default: Console.WriteLine("Slow"); break;
        }
    }
}

การเปรียบเทียบค่าของอีนัม

ค่าอีนัมสามารถเปรียบเทียบด้วย == และตัวดำเนินการจัดลำดับ โดยอ้างอิงจากตัวเลขพื้นฐานของค่าเหล่านั้น

using System;

enum Priority { Low, Medium, High }
class Program {
    static void Main() {
        Console.WriteLine(Priority.High > Priority.Low);
    }
}

ค่าเริ่มต้นของอีนัม

อีนัมที่ยังไม่ได้กำหนดค่าจะเท่ากับสมาชิกที่มีค่าเป็น 0 แนวปฏิบัติที่ดีคือกำหนดให้ 0 เป็นค่าเริ่มต้นที่เหมาะสม เช่น None

using System;

enum Mode { None, Fast, Slow }
class Program {
    static void Main() {
        Mode m = default;
        Console.WriteLine(m);
    }
}

การพิมพ์ชื่ออีนัม

การเรียกใช้ ToString หรือการพิมพ์อีนัมจะแสดงชื่อสมาชิก ซึ่งอ่านเข้าใจได้ชัดเจนกว่าตัวเลขดิบมาก

using System;

enum Fruit { Apple, Banana, Cherry }
class Program {
    static void Main() {
        Console.WriteLine(Fruit.Banana.ToString());
    }
}

อีนัมช่วยให้อ่านโค้ดง่ายขึ้น

เมื่อเทียบกับการส่งจำนวนเต็มเปล่า ๆ อีนัมจะบอกเจตนาในโค้ดและป้องกันค่าที่ไม่ถูกต้อง

using System;

enum Size { Small, Medium, Large }
class Program {
    static int PriceFor(Size s) {
        return s == Size.Large ? 12 : 8;
    }
    static void Main() {
        Console.WriteLine(PriceFor(Size.Large));
    }
}

ตำแหน่งที่ควรประกาศอีนัม

อีนัมสามารถอยู่ในระดับเนมสเปซหรือภายในคลาสได้ ควรวางไว้ใกล้กับโค้ดที่ใช้งานอีนัมเหล่านั้น

using System;

class Program {
    enum Phase { Start, Run, End }
    static void Main() {
        Console.WriteLine(Phase.Run);
    }
}

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจเกี่ยวกับอีนัม

สรุปทบทวน

enum กำหนดชุดค่าคงที่ที่มีชื่อ ช่วยให้อ่านโค้ดได้ง่ายกว่าการใช้ตัวเลขมหัศจรรย์ สมาชิกจะมีค่าเริ่มต้นเป็น 0, 1, 2... แต่คุณสามารถกำหนดค่าอย่างชัดเจนและเปลี่ยนชนิดข้อมูลจำนวนเต็มพื้นฐานได้

อีนัมทำงานได้ดีกับตัวแปร สวิตช์ และการเปรียบเทียบ อีกทั้งพิมพ์ชื่อสมาชิกและใช้สมาชิกที่มีค่าเป็น 0 เป็นค่าเริ่มต้น

คำถามที่พบบ่อย

บทเรียน “การกำหนดและใช้งาน Enum” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การกำหนดและใช้งาน Enum” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดและใช้งาน Enum”

สร้าง Enum ที่มีค่าแบบกำหนดเองและค่าโดยนัย คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การกำหนดและใช้งาน Enum” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การกำหนดและใช้งาน Enum
  2. Enum แบบ Flags และการรวมค่าระดับบิต
  3. การแปลงและแยกวิเคราะห์ Enum
  4. การวนซ้ำค่าของ Enum
← กลับไปที่ C# Academy