c# - 如何在整个程序中继续使用相同的 List<>?
问题描述
我想将我所有的snakes
, 存储在一个snakeList
.
当用户创建新蛇时,我希望程序保留它们,并将它们存储在List
.
但我不知道该怎么做。
如果我写:
List<Snake> snakeList = new List<Snake>();
然后,每当我重新启动程序时,我认为它snakeList
每次都会创建一个新程序。即使程序重新启动,我也想继续使用相同的蛇列表。
我应该为此使用XML
吗?
解决方案
如前所述,您需要将数据写入外部资源(文件、数据库)以保留该数据,即使在应用程序关闭时也是如此。
所以为了做到这一点,当程序关闭时,您需要将其写入磁盘,例如(我使用序列化为 JSON,您可以使用其他方法):
string json = JsonConvert.SerializeObject(snakeList.ToArray());
//write string to file
System.IO.File.WriteAllText(@"path to file", json);
在应用程序启动时,您创建列表,从保存的文件对其进行初始化。如果文件不存在,您只需创建空列表。
对于该任务,您将使用JsonConvert.DeserializeObject
方法。
看看 Json.Net。
推荐阅读
- windows - 修改安装路径
- java - 抽象类中的单元测试具体方法
- excel - 选择excel范围内的最后一个非空单元格
- javascript - 单击的表格单元格值内的 Javascript 表格单元格值
- jquery - jQuery淡出然后提交()
- python - mdiArea.subWindowActivated 和 qtablewidget.itemActivated 之间的冲突
- c# - JSON to object 不适用于 ajax 调用
- spring-boot - SpringBoot 2 + Junit5:带有@Value的null
- python - 主题分布:使用 LDA 对我的文档进行聚类的问题
- reactjs - 当我将它传递给一个函数并尝试在那里访问它时,React prop 返回 undefined