应用程序关闭后如何使数据结构保持不变?

时间:2016-06-28 02:37:38

标签: c# .net data-structures

好的,让我举一个我想要描述的简单例子。这可能是一个非常“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}}仍然存在。有没有办法做到这一点(没有将列表写入文本文件或类似的东西)?如果是这样,怎么样?

4 个答案:

答案 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)

当应用程序在操作系统上关闭时,它会从计算机内存中取出...所以你必须将其状态保存到某种文件或存储设备......据我所知,这是唯一的方法