क्यों यह है कि सी # स्विच स्टेटमेंट में, कई मामलों में उपयोग किए जाने वाले चर के लिए, आप केवल इसे पहले मामले में घोषित करते हैं?सी # स्विच स्टेटमेंट में परिवर्तनीय घोषणा
उदाहरण के लिए, निम्नलिखित त्रुटि फेंकता है "एक स्थानीय चर नाम 'चर' पहले से ही इस दायरे में परिभाषित किया गया है"।
switch (Type)
{
case Type.A:
string variable = "x";
break;
case Type.B:
string variable = "y";
break;
}
हालांकि, तर्क के अनुसार, प्रारंभिक घोषणा करता है, तो प्रकार Type.B
है हिट नहीं किया जाना चाहिए। एक स्विच स्टेटमेंट के भीतर सभी चर एक एकल दायरे में मौजूद हैं, और क्या वे किसी भी तर्क को संसाधित करने से पहले बनाए/आवंटित किए जाते हैं?
वास्तव में बदसूरत बातों में
break
का उपयोग नहीं कर सबसे उपयोगी है लोग ऐसा करते हैं कि: 'स्विच (प्रकार) {मामले टाइप.ए: स्ट्रिंग वेरिएबल = "एक्स"; टूटना; केस टाइप.बी: परिवर्तनीय = "वाई"; टूटना; } ' – giammin@giammin: कृपया विस्तृत करें। – zazkapulsk
@zazkapulsk आपको पहले एक चर घोषित करना चाहिए और फिर स्विच में इसका उपयोग करना चाहिए: 'string variable = null; स्विच (प्रकार) {केस टाइप.ए: परिवर्तनीय = "एक्स"; टूटना; केस टाइप.बी: परिवर्तनीय = "वाई"; टूटना; } ' – giammin