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

Phương thức Enum.TryParse() trong C#

Enum.TryParse() chuyển đổi chuỗi biểu diễn hằng số liệt kê thành đối tượng enum tương đương. Trả về true nếu chuyển đổi thành công, false nếu thất bại (không ném ngoại lệ).

Ví dụ minh họa

using System;

public class Demo
{
    enum Vehicle { Bus = 2, Truck = 4, Car = 10 };

    public static void Main()
    {
        string[] VehicleList = { "2", "3", "4", "bus", "Truck", "CAR" };

        foreach (string val in VehicleList)
        {
            Vehicle vehicle;
            if (Enum.TryParse(val, true, out vehicle))
                if (Enum.IsDefined(typeof(Vehicle), vehicle) | vehicle.ToString().Contains(","))
                    Console.WriteLine("Đã chuyển đổi '{0}' thành {1}", val, vehicle.ToString());
                else
                    Console.WriteLine("{0} không phải giá trị của enum", val);
            else
                Console.WriteLine("{0} không phải thành viên của enum", val);
        }
    }
}

Kết quả đầu ra

Đã chuyển đổi '2' thành Bus
3 không phải giá trị của enum
Đã chuyển đổi '4' thành Truck
Đã chuyển đổi 'bus' thành Bus
Đã chuyển đổi 'Truck' thành Truck
Đã chuyển đổi 'CAR' thành Car

Tham số quan trọng:

  • ignoreCase (bool): true = không phân biệt chữ hoa/thường
  • out result: biến nhận kết quả enum

Kiểm tra hợp lệ: Dùng Enum.IsDefined() để đảm bảo giá trị nằm trong enum (vì TryParse chấp nhận bất kỳ số nguyên nào).