मानों की 'सूची' से मूल्य के बराबर है यदि मेरे पास सी # में एक चर है जिसे यह निर्धारित करने के लिए जांच की आवश्यकता है कि यह चर के एक सेट के बराबर है, तो क्या है ऐसा करने का सबसे अच्छा तरीका है?यह निर्धारित करने के लिए सबसे संक्षिप्त तरीका है कि एक चर वैल्यू
मैं एक ऐसे समाधान की तलाश नहीं कर रहा हूं जो एक सरणी में सेट को संग्रहीत करता है। मैं यह देखने के लिए उत्सुक हूं कि क्या कोई समाधान है जो उत्तर पाने के लिए किसी भी तरह से बूलियन तर्क का उपयोग करता है।
मैं जानता हूँ कि मैं कुछ इस तरह कर सकता है:
int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
मैं देखना उत्सुक हूँ अगर मैं अधिक कुछ इस तरह कर सकता है:
int baseCase = 5;
bool testResult = baseCase == (3 | 7 | 12 | 5);
जाहिर है ऊपर काम नहीं करेगा, लेकिन मुझे यह देखने में दिलचस्पी है कि मेरे पहले उदाहरण की तुलना में कुछ और संक्षिप्त है, जिसे प्रत्येक टेस्ट वैल्यू के लिए एक ही चर को बार-बार दोहराना पड़ता है।
अद्यतन:
मैं CoreyN के जवाब को स्वीकार करने के रूप में यह सबसे सरल दृष्टिकोण की तरह लगता है फैसला किया। नौसिखिया समझने के लिए यह व्यावहारिक है, और अभी भी सरल है, मुझे लगता है।
दुर्भाग्यवश जहां मैं अपना सिस्टम काम करता हूं, .NET 2.0 ढांचे का उपयोग करता है और जल्द ही किसी भी समय अपग्रेड करने का कोई मौका नहीं है। सबसे स्पष्ट एक के अलावा मैं के बारे में सोच सकते हैं वहाँ किसी भी अन्य समाधान है कि .NET 3.5 फ्रेमवर्क पर भरोसा नहीं करते हैं,:
new List<int>(new int[] { 3, 6, 7, 1 }).Contains(5);
यहां एक .NET 2 है।0 समाधान, कोरी की तुलना में थोड़ा अधिक जटिल: http://stackoverflow.com/questions/18407#153037 – Joe
एक जावास्क्रिप्ट उदाहरण http://stackoverflow.com/questions/12116326 – Lijo