这可能看起来很愚蠢,但任何人都可以告诉我为什么下面的代码会出错?
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);
}
}
答案 0 :(得分:2)
您必须使用静态初始化程序来执行您想要执行的操作(如果不仅仅是分配内联),否则您需要在构造函数或方法中指定它。
class Program
{
static int abc;
static Program(){
abc = 110;
}
static void Main(string[] args)
{
Console.WriteLine(abc);
}
}
查看此page了解详情。
答案 1 :(得分:1)
行abc = 110
不在方法体内。您可以在声明时初始化变量,但是您不能使用一行代码在方法体外部进行分配。类文件无效。