Ví dụ: System.Net.HttpStatusCode Enum, tôi muốn lấy mã trạng thái HTTP thay vì văn bản trạng thái HTTP. System.Net.HttpStatusCode.Forbidden
phải trả về 403 thay vì "Bị cấm".Cách lấy giá trị số từ Enum?
Làm cách nào để trích xuất giá trị?
Ví dụ: System.Net.HttpStatusCode Enum, tôi muốn lấy mã trạng thái HTTP thay vì văn bản trạng thái HTTP. System.Net.HttpStatusCode.Forbidden
phải trả về 403 thay vì "Bị cấm".Cách lấy giá trị số từ Enum?
Làm cách nào để trích xuất giá trị?
Đối với đa số Enum chỉ đơn giản là truyền đến loại cơ sở là int32.
int value = (int)System.Net.HttpStatusCode.Forbidden;
ví dụ về một thiểu số không thể đơn giản là gì ? – Jimmy
@Jmymy, bất kỳ enum nào có loại cơ sở khác nhau. Trong những trường hợp đó, bạn chỉ cần truyền đến loại cơ sở thích hợp (uint32, v.v.) ... – JaredPar
Tôi có thể thêm rằng bạn có thể lấy kiểu cơ bản của enum bằng cách sử dụng phương thức Enum.GetUnderlyingType tĩnh (typeof (MyEnum)). – Yoopergeek
Bạn chỉ có thể truyền tới số nguyên!
int code = (int)enumVariable
System.Convert.ToInt32 (response.StatusCode) trả về số statusCode
Điều này làm việc khi bạn có enum, nhưng bạn không có loại enum. Ví dụ. 'void DoSomethingWithEnum (Giá trị enum) {int X = Convert.ToInt32 (giá trị); } 'Trong trường hợp này một diễn viên bình thường để int không hoạt động. –
Điều này cũng hoạt động rất tốt nếu enum của bạn là một tham số kiểu chung chung. – Jay
có thể trùng lặp của [Bắt Http số Status mã (200, 301, 404, vv) từ HttpWebRequest và HttpWebResponse] (http : //stackoverflow.com/questions/1330856/getting-http-status-code-number-200-301-404-etc-from-httpwebrequest-and-ht) –