2010-05-03 6 views
5

मिलान मूल्य के लिए एक गणना के माध्यम से लूप करने का सबसे अच्छा तरीका क्या है?गणना के माध्यम से लूप

string match = "A"; 

enum Sample { A, B, C, D } 

foreach(...) { 
    //should return Sample.A 
} 
+0

foreach क्या? आप वास्तव में परीक्षण करने की कोशिश कर रहे हैं? – Kobi

+0

मैं यह देखने के लिए देख रहा हूं कि "ए" मौजूद है और मिलान करने वाले एन्युमरेटर मान – Germ

उत्तर

11

आप Enum.Parse लिए देख रहे हैं:

Sample e = (Sample)Enum.Parse(typeof(Sample), match); 

आप कर सकते हैं Enum.GetValues या Enum.GetNames फोन करके मूल्यों के माध्यम से लूप।

0
public Sample matchStringToSample(string match) 
{ 
    return (Sample)Enum.Parse(typeof(Sample), match); 
} 

आप इस मामले में जहां स्ट्रिंग मैच एक मान्य enum मान नहीं है संभाल करने के लिए होगा। Enum.Parse उस मामले में ArgumentException फेंकता है।

+1

को वापस लौटाएं यदि आप कभी-कभी विफल होने की उम्मीद करते हैं, तो Enum.TryParse() –

+1

@ नेल्सन का उपयोग करें: 'Enum.TryParse' .NET 4.0 के लिए नया है। – SLaks

0

उपयोग Enum.Parse

(Sample)Enum.Parse(typeof(Samples), "A"); //returns Sample.A 
+0

@ मार्क बेयर्स, यह सिर्फ एक उदाहरण कथन है। उसे एक ब्रेक दें। – AMissico