我不确定此问题是否曾被问过,但我在这里。
class Program
{
protected int ID;
static void Main(string[] args)
{
var Obj = new Program();
Obj.Inc();
Console.WriteLine(Obj.ID);
Console.ReadLine();
}
public int Inc()
{
return ++ID;
}
}
输出:1
问题在于,当我再次运行它时,我的输出不应该是2,但每次运行程序时我都会得到1。
答案 0 :(得分:1)
是的,每次再次运行程序时,您都会得到输出1
。
当您重新运行程序时,一切都将重新初始化。因此,您需要将其存储在数据库中以便将来恢复。
答案 1 :(得分:1)
当您的应用程序重新启动时,它不会记住上一次运行的变量。
如果您需要,您需要保留其值并在启动时读取它们。有许多方法可以做到这一点。
您可以使用配置文件,设置文件,任何格式的文本文件,序列化类,甚至数据库。只需在网站或此网站上搜索“C#persist variables”即可。
请参阅Storing settings/variables persistantly in C#/.NET,How to save variable values on program exit?等。