Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Enum.GetNames trong C#


Giới thiệu

Phương thức tĩnh Enum.GetNames(Type enumType) trả về mảng string chứa tên của tất cả hằng số trong enum. Thứ tự theo giá trị tăng dần (không phải thứ tự khai báo).

Ví dụ cơ bản

enum Vehicle { Car, Motorbike, Truck }
string[] names = Enum.GetNames(typeof(Vehicle));
// ["Car", "Motorbike", "Truck"]

Ví dụ hoàn chỉnh

using System;

class Demo
{
    enum Vehicle { Car, Motorbike, Truck }

    static void Main()
    {
        foreach (string res in Enum.GetNames(typeof(Vehicle)))
            Console.WriteLine(res);
    }
}

Kết quả

Car
Motorbike
Truck

Các phương thức Enum liên quan

Phương thứcTrả vềMô tả
GetNames(Type)string[]Tên tất cả hằng số
GetValues(Type)ArrayGiá trị tất cả hằng số (cần cast)
GetName(Type, object)stringTên của 1 giá trị cụ thể
IsDefined(Type, object)boolKiểm tra giá trị có trong enum
Parse(Type, string)objectParse string thành enum
TryParse(Type, string, out)boolParse an toàn

Ví dụ GetValues

foreach (Vehicle v in Enum.GetValues(typeof(Vehicle)))
    Console.WriteLine($"{v} = {(int)v}");
// Car = 0
// Motorbike = 1
// Truck = 2

Lưu ý

  • Trả về mảng mới mỗi lần gọi (allocation). Cache nếu gọi nhiều.
  • Thứ tự: theo giá trị underlying type (mặc định int) tăng dần.
  • Dùng nameof(Vehicle.Car) cho tên tại compile-time (refactor-safe).