为什么我可以从“method()”而不是 Main() 方法访问 X 变量?
class Program
{
int X; // this is the variable I want access
static void Main(string[] args)
{
int a;
a = X; // this doesnt work, but why?
}
void metodo()
{
int b;
b = X; //this works, but why?
}
}
最佳答案
尝试
static int X
X
是一个实例变量,这意味着您的类的每个实例都将有自己的 X
版本。然而,Main 是一个静态方法,这意味着 Program
类的所有实例只有一个 Main,因此访问 X
没有任何意义,因为可能有多个 X,或者可能根本没有,如果没有 Program
实例被创建的话。
将 X 本身设为静态,意味着所有 Program
实例将共享 X
,因此共享方法将能够访问它。
关于c# - Main() 不想访问类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3304032/