我只是做了一个小实验:C#静态变量 - 范围和持久性
public abstract class MyClass
{
private static int myInt = 0;
public static int Foo()
{
return myInt;
}
public static int Foo(int n)
{
myInt = n;
return bar();
}
private static int bar()
{
return myInt;
}
}
,然后我跑:
MessageBox.Show(MyClass.Foo().ToString());
MessageBox.Show(MyClass.Foo(3).ToString());
MessageBox.Show(MyClass.Foo().ToString());
MessageBox.Show(MyClass.Foo(10).ToString());
MessageBox.Show(MyClass.Foo().ToString());
结果我的预期分别为0,3,0,10,0
。令我惊讶的是,我得到0,3,3,10,10
做这些改变持续多久呢?程序执行的持续时间?调用静态方法的函数的持续时间?
静态变量由类的所有实例共享。不仅仅是可见的方法。 – 2013-04-28 11:04:16