लूप केस के लिए मैं इंडेक्स को कथन के बाहर घोषित कर सकता हूं। उदाहरण के लिए,फ़ोरैच लूप के बाहर परिवर्तनीय घोषित करें
for (int i = 0; i < 8; i++) { }
के बजाय के लिए मैं कर सकते हैं:
int i;
for (i = 0; i < 8; i++) { }
अब पाश foreach की तुलना में, मैं पाश अंदर चर घोषित करने के लिए है:
foreach (string name in names) { }
और मैं नहीं कर सकता कुछ ऐसा करें:
string name;
foreach (name in names) { }
कारण यह मुझे परेशान करता है कि लूप के बाद मैं चर "नाम" का उपयोग करना चाहता हूं। फोरैच लूप के मामले में वैरिएबल "नाम" का उपयोग फ़ोरैच स्कोप के बाहर से नहीं किया जा सकता है, और मैं उसी नाम के साथ एक और वैरिएबल घोषित नहीं कर सकता क्योंकि यह उसी दायरे में पहले घोषित किया गया था।
कोई विचार?
आप सूची में पुनरावृत्त करने के लिए नाम का उपयोग करेंगे, आपको बाद में अपने कोड में इसका संदर्भ क्यों देना होगा। मुझे लगता है कि आप इस तरह के उपयोग की आवश्यकता से बचने के लिए कोड कर सकते हैं। –
@ शिमिम हाफिज: मेरे पास एक ऐसा मामला है जहां मैं फोरैच लूप में समान नाम के साथ एक वैरिएबल पसंद करता हूं। – Naor
मुझे एक ही समस्या थी। मैं कोशिश-पकड़ के अंदर एक फ़ोरैच लूप का उपयोग करता हूं और मैं कोशिश और पकड़ ब्लॉक दोनों के अंदर एक लॉग में लिखता हूं। मैं दोनों लॉग के अंदर foreach पाश में आइटम चर का उपयोग करें। मैं जॉन स्कीट की पहली दो विधियों में बदलाव का उपयोग कर समाप्त हुआ। – seebiscuit