静态变量如何保留递增的值

时间:2018-01-14 16:31:10

标签: c# .net static

我在类中创建了一个静态变量并在构造函数中递增,认为无论何时我向类创建实例,静态变量都将重置为0.令我惊讶的是,第一次创建对象时类,静态变量(Counter)增加到1.第二次当我向类创建对象时,静态变量保留增量值(1)。这是静态的行为吗?

class Singleton
   {
   private static int counter = 0;
   Public Singleton()
   {
       counter++;
       Console.WriteLine("Counter-" + counter);
   }
   }

 static void Main(string[] args)
   {
       Singleton objSingleton1 = new Singleton();
       objSingleton1.getMessage("Hi This is my first message!");
       Singleton objSingleton2 = new Singleton();
       objSingleton2.getMessage("Hi This is my second message!");
   }

1 个答案:

答案 0 :(得分:0)

简单地说,你要创建的所有实例都将共享静态变量,它将一直存在,直到应用程序从内存中卸载