2009-10-08 23 views
48

उदाहरण के लिए System.Net.HttpStatusCode Enum, मैं HTTP स्थिति टेक्स्ट के बजाय HTTP स्थिति कोड प्राप्त करना चाहता हूं। System.Net.HttpStatusCode.Forbidden को "निषिद्ध" के बजाय 403 वापस करना चाहिए।एनम से संख्यात्मक मूल्य कैसे प्राप्त करें?

मैं मूल्य कैसे निकाल सकता हूं?

+0

संभावित डुप्लिकेट [हो रही Http से स्थिति कोड नंबर (200, 301, 404, आदि) HttpWebRequest और HttpWebResponse] (http : //stackoverflow.com/questions/1330856/getting-http-status-code-number-200-301-404-etc-from-httpwebrequest-and-ht) –

उत्तर

72

एनम के बहुमत के लिए केवल बेस प्रकार पर डाला गया है जो int32 है।

int value = (int)System.Net.HttpStatusCode.Forbidden; 
+2

अल्पसंख्यक का उदाहरण क्या है जिसे आसानी से नहीं डाला जा सकता ? – Jimmy

+4

@ जिमी, कोई भी enum जिसमें एक अलग आधार प्रकार है। उन मामलों में आपको उचित आधार प्रकार (uint32, आदि) पर डालने की आवश्यकता है ... – JaredPar

+8

मैं जोड़ सकता हूं कि आप स्थिर enum.GetUnderlyingType (typeof (MyEnum)) विधि का उपयोग करके enum के अंतर्निहित प्रकार को प्राप्त कर सकते हैं। – Yoopergeek

16

आप इसे एक पूर्णांक में डाल सकते हैं!

int code = (int)enumVariable 
7

System.Convert.ToInt32 (response.StatusCode) रिटर्न statusCode संख्या के

+6

यह आपके काम करता है जब आपके पास enum है, लेकिन आपके पास enum का प्रकार नहीं है। जैसे 'शून्य DoSomethingWithEnum (एनम मूल्य) {int एक्स = कनवर्ट। ToInt32 (मान); } 'इस मामले में int के लिए एक सामान्य कलाकार काम नहीं करता है। –

+0

यह भी बहुत अच्छा काम करता है यदि आपका enum एक सामान्य प्रकार पैरामीटर है। – Jay

संबंधित मुद्दे