लगता है कि काम का एक बहुत कुछ सी # कम से कम इस्तेमाल किया वाक्यविन्यास में से किसी एक को पाने के लिए किसी तरह से बेहतर या बेहतर काम करने के तरीके खोजने में लगा है। व्यक्तिगत रूप से मुझे लगता है कि स्विच स्टेटमेंट शायद ही कभी उपयोग करने लायक हो। मैं दृढ़ता से विश्लेषण करने का सुझाव दूंगा कि आप किस डेटा का परीक्षण कर रहे हैं और अंतिम परिणाम जो आप चाहते हैं।
उदाहरण के लिए मान लें कि आप एक ज्ञात सीमा में मानों को जल्दी से परखना चाहते हैं, यह देखने के लिए कि क्या वे अभाज्य संख्याएँ हैं। आप अपने कोड को व्यर्थ गणना करने से बचना चाहते हैं और आप जिस श्रेणी में ऑनलाइन चाहते हैं, उसमें आप primes की एक सूची पा सकते हैं। आप ज्ञात मूल्य की तुलना में बड़े पैमाने पर स्विच स्टेटमेंट का उपयोग कर सकते हैं।
या आप बस primes का एक सरणी मानचित्र बना सकते हैं और तत्काल परिणाम प्राप्त कर सकते हैं:
bool[] Primes = new bool[] {
false, false, true, true, false, true, false,
true, false, false, false, true, false, true,
false,false,false,true,false,true,false};
private void button1_Click(object sender, EventArgs e) {
int Value = Convert.ToInt32(textBox1.Text);
if ((Value >= 0) && (Value < Primes.Length)) {
bool IsPrime = Primes[Value];
textBox2.Text = IsPrime.ToString();
}
}
हो सकता है कि आप यह देखना चाहते हैं कि क्या एक स्ट्रिंग में एक चरित्र हेक्साडेसिमल है। आप एक अस्पष्ट और कुछ बड़े स्विच स्टेटमेंट का उपयोग कर सकते हैं।
या आप चार्ट का परीक्षण करने के लिए या तो नियमित अभिव्यक्ति का उपयोग कर सकते हैं या ज्ञात हेक्साडेसिमल अक्षरों की एक स्ट्रिंग में चार को खोजने के लिए IndexOf फ़ंक्शन का उपयोग कर सकते हैं:
private void textBox2_TextChanged(object sender, EventArgs e) {
try {
textBox1.Text = ("0123456789ABCDEFGabcdefg".IndexOf(textBox2.Text[0]) >= 0).ToString();
} catch {
}
}
मान लें कि आप एक मान के आधार पर 3 अलग-अलग क्रियाओं में से एक करना चाहते हैं, जो कि 1 से 24 की सीमा होगी। मैं IF स्टेटमेंट के सेट का उपयोग करने का सुझाव दूंगा। और अगर वह बहुत जटिल हो गया (या संख्याएँ 1 से 90 की सीमा में एक मूल्य के आधार पर 5 अलग-अलग क्रियाओं जैसे बड़ी थीं) तो क्रियाओं को परिभाषित करने और एनमों का एक सरणी नक्शा बनाने के लिए एक एनम का उपयोग करें। मान तब सरणी मानचित्र में अनुक्रमित करने के लिए उपयोग किया जाएगा और आप जो कार्रवाई चाहते हैं उसका एनम प्राप्त करेंगे। फिर परिणामी एनम मान को संसाधित करने के लिए IF स्टेटमेंट्स के एक छोटे सेट या बहुत ही सरल स्विच स्टेटमेंट का उपयोग करें।
इसके अलावा, एक सरणी मानचित्र के बारे में अच्छी बात यह है कि मूल्यों की एक श्रृंखला को कार्यों में परिवर्तित करता है, यह कोड द्वारा आसानी से बदला जा सकता है। हार्ड वायर्ड कोड के साथ आप रनटाइम पर व्यवहार को आसानी से नहीं बदल सकते हैं, लेकिन एक सरणी मैप के साथ यह आसान है।