Những người khác đã đề xuất sử dụng Enum.Parse() nhưng hãy cẩn thận với phương pháp này, gây ra nó không chỉ phân tích tên của enum, mà còn cố gắng để phù hợp với giá trị của nó. Để làm cho nó rõ ràng chúng ta hãy kiểm tra ví dụ nhỏ:
PetType petTypeA = (PetType)Enum.Parse(typeof(PetType), "Dog");
PetType petTypeB = (PetType)Enum.Parse(typeof(PetType), "1");
Kết quả của cả hai phân tích các cuộc gọi sẽ được PetType.Dog (có thể được đúc để int tất nhiên).
Trong hầu hết các trường hợp, hành vi như vậy sẽ là OK, nhưng không phải luôn luôn, và điều này đáng để nhớ phương thức Enum.Parse() hoạt động như thế nào.
Nguồn
2011-11-16 01:01:55
trùng lặp có thể xảy ra [làm thế nào để tạo ra một enum từ một chuỗi đại diện? C#] (http://stackoverflow.com/questions/1130377/how-do-i-create-an-enum-from-a-string-representation-c-sharp) – nawfal