tôi đã xác định một C# enum nhưLàm cách nào tôi có thể sử dụng giá trị chuỗi của giá trị enum C# trong tuyên bố trường hợp?
public enum ORDER
{
...
unknown,
partial01,
partial12,
partial23,
}
và có thể sử dụng giá trị của nó như là một chuỗi như trong:
string ss = ORDER.partial01.ToString();
Tuy nhiên khi tôi cố gắng sử dụng nó trong một tuyên bố trường hợp nó không biên dịch:
string value = ...
switch (value)
{
case null:
break;
case "s":
// OK
break;
case ORDER.partial01.ToString():
// compiler throws "a constant value is expected"
break;
...
Tôi nghĩ rằng enums là hằng số. Làm thế nào để tôi có được điều này?
(Tôi không thể phân tích giá trị thành một enum như một số các giá trị nằm ngoài phạm vi)
Điều đó sẽ không xử lý so sánh null, nhưng mà trường hợp cạnh thể được xử lý bên ngoài tuyên bố trường hợp. –
giá trị chuỗi = null; // "partial01"; ĐẶT HÀNG? order = value == null? null: (ORDER?) Enum.Parse (typeof (ORDER), giá trị, true); –