I just did a little experiment:
public abstract class MyClass { private static int myInt = 0; public static int Foo() { return myInt; } publi
It persist for duration of the program execution, or until you overwrite it with another value. If you want to make the result as what you want it to be, you should specify myInt = 0 in the constructor before return myInt;