首页 > 解决方案 > 如何在整个程序中继续使用相同的 List<>?

问题描述

我想将我所有的snakes, 存储在一个snakeList.

当用户创建新蛇时,我希望程序保留它们,并将它们存储在List.

但我不知道该怎么做。

如果我写:

List<Snake> snakeList = new List<Snake>();

然后,每当我重新启动程序时,我认为它snakeList每次都会创建一个新程序。即使程序重新启动,我也想继续使用相同的蛇列表。

我应该为此使用XML吗?

标签: c#

解决方案


如前所述,您需要将数据写入外部资源(文件、数据库)以保留该数据,即使在应用程序关闭时也是如此。

所以为了做到这一点,当程序关闭时,您需要将其写入磁盘,例如(我使用序列化为 JSON,您可以使用其他方法):

string json = JsonConvert.SerializeObject(snakeList.ToArray());

//write string to file
System.IO.File.WriteAllText(@"path to file", json);

在应用程序启动时,您创建列表,从保存的文件对其进行初始化。如果文件不存在,您只需创建空列表。

对于该任务,您将使用JsonConvert.DeserializeObject方法。

看看 Json.Net。

相关帖子


推荐阅读