ऐतिहासिक रूप से, .Net में विकास करते समय, मैं नेस्टेड स्कोप में वैरिएबल के नाम की नकल नहीं कर सकता था । हालाँकि, हाल ही में Visual Studio 2019 को संस्करण 16.4.2 में अपडेट करने के बाद, मैंने देखा है कि चर नामों को नेस्टेड स्कोप में दोहराया जा सकता है।
उदाहरण के लिए:
var test = "hello";
Console.WriteLine(test);
var things = new []{"one", "two", "three"};
things.Select(test => // <- test is duplicated here, normally this breaks compilation
{
Console.WriteLine(test);
return test;
}).ToList();
// output:
// hello
// one
// two
// three
https://dotnetfiddle.net/h85BK4
यह अचानक क्यों अनुमति है?
अनुवर्ती प्रश्न: यदि यह एक नई भाषा "फीचर" है, तो क्या नेस्टेड स्कोप को नेस्टेड स्कोप में डुप्लिकेट होने पर तोड़ने के लिए विजुअल स्टूडियो को कॉन्फ़िगर करने का एक तरीका है?
test
कोई प्रभाव नहीं पड़ता है। आप इसे प्रश्न में जुड़े फ़िडल में आज़मा सकते हैं।
test
डेटा प्रकार के एक ही चर का उपयोग करते हुए इसकी एक ही है।test
चर कोint
उदाहरण के रूप में घोषित करने का प्रयास करें ।var test = 12345;
मुझे लगता है कि आपको संकलित त्रुटि मिलनी चाहिए। (मैंने इसे आजमाया नहीं है)