การแปลงและแยกวิเคราะห์ Enum
แปลงค่าระหว่าง Enum จำนวนเต็ม และสตริง
การแปลงและแยกวิเคราะห์ Enum เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
อีนัมเป็นจำนวนเต็ม
แปลงอีนัมเป็นชนิดข้อมูลพื้นฐานด้วย (int) เพื่อรับค่าตัวเลข
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
int n = (int)Level.High;
Console.WriteLine(n);
}
}จำนวนเต็มเป็นอีนัม
แปลงตัวเลขกลับเป็นชนิดอีนัม ค่านั้นไม่จำเป็นต้องเป็นสมาชิกที่กำหนดไว้ จึงควรตรวจสอบเมื่อจำเป็น
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)2;
Console.WriteLine(l);
}
}การตรวจสอบด้วย IsDefined
Enum.IsDefined ยืนยันว่าตัวเลขหรือชื่อสอดคล้องกับสมาชิกจริง ก่อนที่คุณจะนำไปใช้อย่างไว้วางใจได้
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Enum.IsDefined(typeof(Level), 1));
Console.WriteLine(Enum.IsDefined(typeof(Level), 9));
}
}อีนัมเป็นสตริง
ToString ส่งคืนชื่อสมาชิก ซึ่งมีประโยชน์สำหรับการแสดงผลและการบันทึกข้อมูล
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Console.WriteLine(Level.Medium.ToString());
}
}การแยกวิเคราะห์จากสตริง
Enum.Parse แปลงชื่อกลับเป็นค่าอีนัม แต่จะแสดงข้อผิดพลาดหากชื่อไม่ถูกต้อง
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = (Level)Enum.Parse(typeof(Level), "High");
Console.WriteLine(l);
}
}การแยกวิเคราะห์แบบทั่วไป
รูปแบบทั่วไป Enum.Parse<T> ไม่ต้องแปลงชนิดเพิ่มเติมและอ่านได้อย่างชัดเจน
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("Medium");
Console.WriteLine(l);
}
}การแยกวิเคราะห์อย่างปลอดภัยด้วย TryParse
Enum.TryParse ส่งคืนค่าบูลีนเพื่อระบุความสำเร็จแทนการแสดงข้อผิดพลาด จึงปลอดภัยกว่าสำหรับข้อมูลป้อนเข้าจากผู้ใช้
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
if (Enum.TryParse<Level>("Low", out var result))
Console.WriteLine("Parsed: " + result);
}
}การจัดการข้อมูลป้อนเข้าที่ไม่ถูกต้อง
เมื่อการแยกวิเคราะห์ล้มเหลว TryParse จะส่งคืนค่า false เพื่อให้คุณตอบสนองได้อย่างเหมาะสม
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
bool ok = Enum.TryParse<Level>("Unknown", out var result);
Console.WriteLine(ok ? result.ToString() : "Invalid input");
}
}การแยกวิเคราะห์โดยไม่คำนึงถึงตัวพิมพ์เล็กใหญ่
ส่งค่า true เพื่อไม่สนใจตัวพิมพ์เล็กใหญ่ขณะแยกวิเคราะห์ข้อความที่ผู้ใช้ป้อน
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level l = Enum.Parse<Level>("high", true);
Console.WriteLine(l);
}
}TryParse เหมาะกว่า IsDefined สำหรับชื่อ
สำหรับการแยกวิเคราะห์ชื่อ TryParse จะจัดการทั้งการตรวจสอบความถูกต้องและการแปลงค่าในการเรียกใช้ครั้งเดียว
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
string input = "Medium";
if (Enum.TryParse<Level>(input, out var lvl) && Enum.IsDefined(typeof(Level), lvl))
Console.WriteLine("Valid: " + lvl);
}
}การแปลงไปกลับ
คุณสามารถแปลงอีนัมเป็น int แล้วแปลงกลับ หรือแปลงเป็นสตริงแล้วแปลงกลับได้ ตราบใดที่ค่าเหล่านั้นถูกต้อง
using System;
enum Level { Low, Medium, High }
class Program {
static void Main() {
Level start = Level.High;
int num = (int)start;
Level back = (Level)num;
Console.WriteLine(start == back);
}
}ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับการแปลงและการแยกวิเคราะห์อีนัม
สรุปทบทวน
แปลงระหว่างอีนัมกับจำนวนเต็มพื้นฐานด้วย (int) และ (EnumType) และใช้ Enum.IsDefined เพื่อตรวจสอบความถูกต้อง ToString จะส่งคืนชื่อสมาชิก
แยกวิเคราะห์ชื่อกลับด้วย Enum.Parse<T> ซึ่งแสดงข้อผิดพลาดเมื่อไม่สำเร็จ หรือใช้ Enum.TryParse<T> ที่ปลอดภัยกว่าและส่งคืนค่าบูลีน โดยเลือกไม่คำนึงถึงตัวพิมพ์เล็กใหญ่ได้
คำถามที่พบบ่อย
บทเรียน “การแปลงและแยกวิเคราะห์ Enum” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแปลงและแยกวิเคราะห์ Enum” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแปลงและแยกวิเคราะห์ Enum”
แปลงค่าระหว่าง Enum จำนวนเต็ม และสตริง คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การแปลงและแยกวิเคราะห์ Enum” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การกำหนดและใช้งาน Enum
- Enum แบบ Flags และการรวมค่าระดับบิต
- การแปลงและแยกวิเคราะห์ Enum
- การวนซ้ำค่าของ Enum