小编cj9*_*042的帖子

为什么"非法"声明另一个类中的变量可以成功编译?

我创建了如下所示的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#

0
推荐指数
1
解决办法
230
查看次数

标签 统计

c# ×1