Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Enum.GetName ใน C#


ภาพรวม

เมธอด Enum.GetName(Type, object) คืนค่า ชื่อ (string) ของค่าคงที่ enum ที่ตรงกับค่าที่ระบุ

พารามิเตอร์

  • Type - ชนิดของ enum (เช่น typeof(Vehicle))
  • Object - ค่าของ enum ที่ต้องการชื่อ (เช่น Vehicle.Motorbike)

ตัวอย่างโค้ดเต็ม

using System;

class Demo
{
    enum Vehicle { Car, Motorbike, Truck, Bicycles }
    static void Main()
    {
        string res = Enum.GetName(typeof(Vehicle), Vehicle.Motorbike);
        Console.WriteLine(res); // Motorbike
    }
}

ผลลัพธ์

Motorbike

ข้อสังเกต

  • คืน null หากค่าไม่ได้อยู่ใน enum (เช่น cast จาก int ที่ไม่นิยาม)
  • หากมีหลายชื่อแทนค่าเดียวกัน (duplicate values) จะคืนชื่อแรกที่นิยาม
  • ใช้ Enum.GetNames() หากต้องการชื่อทั้งหมด
  • ใน C# 6+ ใช้ nameof(Vehicle.Motorbike) ได้เลย (compile-time, เร็วกว่า)