我在类中创建了一个静态变量并在构造函数中递增,认为无论何时我向类创建实例,静态变量都将重置为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!");
}
答案 0 :(得分:0)
简单地说,你要创建的所有实例都将共享静态变量,它将一直存在,直到应用程序从内存中卸载