我创建了如下所示的ac #test类,我打算测试如果我在范围内外两次创建一个变量会发生什么.但令我惊讶的是,它运行并输出"内部"值.
如果我将此代码片段写入Main()方法,这是多次声明同一个变量的非法方式,编译器错误会相应地发生.但是为什么它可以在一个单独的类中工作?那么我们怎样才能避免犯这样的错误呢?
class Program
{
static void Main(string[] args)
{
Test tst = new Test();
tst.ScopeAlert();
Console.ReadLine();
}
}
public class Test
{
string scope = "outside";
public void ScopeAlert()
{
string scope = "inside";
Console.WriteLine(scope);
}
}
Run Code Online (Sandbox Code Playgroud) c# ×1