เมธอด Enum.GetName(Type enumType, object value) ส่งคืนชื่อ (String) ของสมาชิก Enum ที่มีค่าตรงกับที่ระบุ ใช้เมื่อรู้ค่าแล้วอยากได้ชื่อ
ตัวอย่างพื้นฐาน
enum Stock
{
Appliance, // 0
Clothing, // 1
Footwear // 2
}
// ดึงชื่อของค่า 1
string name = Enum.GetName(typeof(Stock), 1); // "Clothing"
ตัวอย่างสมบูรณ์
using System;
class Demo
{
enum Stock
{
Appliance,
Clothing,
Footwear
}
static void Main()
{
Console.WriteLine("หมวดที่ 2: " + Enum.GetName(typeof(Stock), 1)); // Clothing
Console.WriteLine("หมวดที่ 3: " + Enum.GetName(typeof(Stock), 2)); // Footwear
// กรณีค่าไม่มีใน Enum
string notFound = Enum.GetName(typeof(Stock), 99);
Console.WriteLine("ค่า 99: " + (notFound ?? "Not Found")); // null
}
}
ผลลัพธ์
หมวดที่ 2: Clothing หมวดที่ 3: Footwear ค่า 99: Not Found
คำอธิบายเพิ่มเติม
- ส่งคืน
nullหากค่าที่ระบุไม่มีใน Enum - พารามิเตอร์
valueเป็นobjectส่งint,byte, Enum Instance ได้ - ต่างจาก
GetNames()ที่ส่งคืน Array ทั้งหมด
การใช้งานร่วมกับ ToString()
Stock item = Stock.Clothing; // สองวิธีได้ผลลัพธ์เดียวกัน string name1 = item.ToString(); // "Clothing" (เร็วกว่า) string name2 = Enum.GetName(typeof(Stock), item); // "Clothing" // ToString() แนะนำสำหรับ Instance ที่มีอยู่แล้ว // GetName() เหมาะสำหรับค่าตัวเลข / Dynamic Value
Enum.TryParse (C# 4.0+) - แปลง String เป็น Enum อย่างปลอดภัย
string input = "Clothing";
if (Enum.TryParse(input, out Stock result))
{
Console.WriteLine($"Parsed: {result} = {(int)result}");
}
else
{
Console.WriteLine("Invalid value");
}