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ườngout 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).