Как статическая переменная может сохранять увеличенное значение
Я создал статическую переменную в классе и увеличил ее в конструкторе, думая, что всякий раз, когда я создаю экземпляр класса, статическая переменная будет сброшена до 0. К моему крайнему удивлению, в первый раз, когда я создал объект для класса, статическая переменная(счетчик) увеличивается до 1. Во второй раз, когда я создал объект для класса, статическая переменная сохраняет увеличенное значение(1). Таково ли поведение статики?
Что я уже пробовал:
class Singleton { private static int counter = 0; Public Singleton() { counter++; Console.WriteLine("Counter-" + counter); } } static void Main(string[] args) { Singleton objSingleton = Singleton.getInstanse; objSingleton.getMessage("Hi This is my first message!"); Singleton objSingleton2 = Singleton.getInstanse; objSingleton.getMessage("Hi This is my second message!"); }