为什么以这种方式初始化会导致编译时错误



这看起来很愚蠢,但任何人都可以告诉我为什么下面的代码会出错吗?

    class Program
{
    static int abc;
    abc = 110;
    static void Main(string[] args)
    {
        Console.WriteLine(abc);
    }
}

但是如果我像这样进行初始化,它会运行!

    class Program
{
    static int abc = 110;
    static void Main(string[] args)
    {
        Console.WriteLine(abc);
    }
}

您必须使用静态初始值设定项来执行您想要执行的操作(如果不是只是内联分配),否则您需要在构造函数或方法中分配它。

    class Program
{
    static int abc;
    static Program(){
       abc = 110;
    }
    static void Main(string[] args)
    {
        Console.WriteLine(abc);
    }
}

查看此页面以获取更多信息。

abc = 110不在方法主体内。 可以在声明时初始化变量,但不能有一行代码在方法主体之外进行该赋值。 类文件无效。

相关内容

最新更新