निम्नलिखित कोड क्यों संकलित करता है? मैं उम्मीद करता हूं कि यह दूसरी केस शाखा में घोषित नहीं होने के बारे में foo
शिकायत करेगा। क्या संकलक घोषणा को संभालता है कि यह सभी मामलों के दायरे में है?अन्य मामलों के दायरे में एक केस स्टेटमेंट में घोषित चर क्यों हैं?
using System;
namespace Scratch
{
class Scratch
{
public static void Main()
{
var x = 2;
switch (x)
{
case 1:
var foo = "one";
Console.Out.WriteLine(foo);
break;
case 2:
foo = "two"; // is foo in scope here?
Console.Out.WriteLine(foo);
break;
}
}
}
}
http://stackoverflow.com/questions/11199338/using-a-switch-statement-to-set-the-value-of-one-particular-variable-only देखने के लिए – nawfal