난 그냥 약간의 실험을했다 :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());
결과는 I, 0 10, 0, 3, 0이었다 예상 .
놀랍게도, I는 0, 3, 3, 10,(10)는 이러한 변화가 얼마나 오래 지속 할있어? 프로그램 실행 기간? 정적 메서드를 호출하는 함수의 지속 시간은?
정적 변수는 클래스의 모든 인스턴스에서 공유합니다. 메서드에서 볼 수있는 것은 아닙니다. –