声明的数据类型不保留值?

时间:2015-05-28 09:44:00

标签: c# types return console-application

我不确定此问题是否曾被问过,但我在这里。

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。

2 个答案:

答案 0 :(得分:1)

是的,每次再次运行程序时,您都会得到输出1。 当您重新运行程序时,一切都将重新初始化。因此,您需要将其存储在数据库中以便将来恢复。

答案 1 :(得分:1)

当您的应用程序重新启动时,它不会记住上一次运行的变量。

如果您需要,您需要保留其值并在启动时读取它们。有许多方法可以做到这一点。

您可以使用配置文件,设置文件,任何格式的文本文件,序列化类,甚至数据库。只需在网站或此网站上搜索“C#persist variables”即可。

请参阅Storing settings/variables persistantly in C#/.NETHow to save variable values on program exit?等。