好的,让我举一个我想要描述的简单例子。这可能是一个非常“n00b”的问题,但我已经准备好了大量的编程书籍,他们从来没有像这样的例子。
假设我有一个像
这样的程序public class Program
{
private static List<string> _input = new List<string>();
public static void Main()
{
string line;
while((line = Console.ReadLine()) != null)
{
Program._input.Add(line);
}
return 0;
}
}
除了想要修改它以便下次启动时,我上次运行程序时添加到line
的{{1}}仍然存在。有没有办法做到这一点(没有将列表写入文本文件或类似的东西)?如果是这样,怎么样?
答案 0 :(得分:1)
关闭应用程序后,当您的应用程序被销毁时,存储在变量中的所有内容都将丢失。
保留数据的唯一方法是将其存储在程序之外的某个位置。最常见的是文件或数据库。在您的情况下,您只是存储文本行,因此我可能会使用文件。
您可以在应用程序关闭时轻松写入文件,然后在应用程序启动时从文件中读取。
答案 1 :(得分:0)
如果您想保存课程的所有价值,可以使用Serialization
你可以在这里找到一些例子:Examples of XML Serialization
但是在所有情况下你需要写一个文件,你可以把它保存在RAM中。
答案 2 :(得分:0)
每当您关闭程序时,Windows都会释放内存。只保留文件。
写文件并不邪恶,只是一个简单的陈述。
File.WriteAllLines("lines.txt", _input);
阅读文件也很容易。
_input.AddRange(File.ReadAllLines("lines.txt"));
答案 3 :(得分:0)
当应用程序在操作系统上关闭时,它会从计算机内存中取出...所以你必须将其状态保存到某种文件或存储设备......据我所知,这是唯一的方法