我在运行时将一些字符串值存储在数组列表中。当应用程序关闭时,我想将数组中的数据存储在另一个位置,以便在下次应用程序启动时打开并检索数据。有什么办法可以做到这一点?保存并恢复ArrayList中的值
回答
您可以使用来自/ Reading
和Writing
到文件或存储的值Windows注册表。 用于读/写文件使用:
StreamReader sr = new StreamReader(@"C:/store.dll"); //for reading
StreamWriter sw = new StreamWriter(@"C:/store.dll"); //for writing
这是基本的。下面是这两个伟大的文章:
我用这个存储的高分一个简单的游戏。 :)
Here是使用Windows注册表的一个很好的教程。
为什么'.dll'? DLL是为图书馆,而不是数据。 – CodesInChaos 2012-07-24 17:02:49
只是一个例子。它可以是任何类型的文件...:D – 2012-07-24 17:03:17
是否有任何不同的,更“隔离”的方式来保存和恢复我的数据?我更喜欢不使用窗口注册表 – user1005633 2012-07-24 17:13:16
你可以Serialize
的ArrayList和后来写入到磁盘,然后加载该文件,并Deserialize
它的对象:
public static XDocument Serialize<T>(T objectIn, Type[] extraTypes)
{
try
{
var target = new XDocument();
XmlSerializer s = extraTypes != null ? new XmlSerializer(objectIn.GetType(), extraTypes) : new XmlSerializer(objectIn.GetType());
s = extraTypes != null
? new XmlSerializer(objectIn.GetType(), extraTypes)
: new XmlSerializer(objectIn.GetType());
var writer = target.CreateWriter();
s.Serialize(writer, objectIn);
writer.Close();
return target;
}
catch (Exception ex)
{
throw new Exception(string.Format("Could not serialize object: {0}", ex.Message));
}
}
public static T Deserialize<T>(XDocument xDocument, string defaultNamespace)
{
XmlSerializer s = new XmlSerializer(typeof(T), defaultNamespace);
T result = (T)s.Deserialize(xDocument.CreateReader());
return result;
}
我该如何称此方法?我想T对象是我的数组列表,什么是类型[] extraTypes – user1005633 2012-07-24 17:10:24
- 1. 保存并恢复ArrayList中的片段活动性
- 2. 恢复保存/初始值
- 3. 保存并恢复到firebase的日期?
- 4. Android:保存ArrayList中的值
- 5. 如何保存hashtag值并在页面加载中恢复?
- 6. 保存并恢复vim状态
- 7. 如何保存hdc并恢复它?
- 8. 保存并恢复whatsapp登录信息
- 9. 保存并读取arraylist的arraylist类
- 10. 在Filezilla中恢复保存的密码
- 11. 保存和恢复CGContext
- 12. 画布保存和恢复
- 13. 保存/恢复/从DB
- 14. 保存并恢复PHP中的error_reporting级别
- 15. 保存并恢复C++中的最后一个窗口大小
- 16. 如何保存并恢复Swift中的NSScrollView滚动位置?
- 17. ArrayList中不保存我的价值观
- 18. 在dataTable中保存/恢复列宽
- 19. 在Xamarin Forms中保存并恢复页面
- 20. 保存WebView状态并在ANDROID中恢复
- 21. 保存datagridview数据并从xml文件中恢复#
- 22. 如何将POJO保存到SQLite中并让它们恢复?
- 23. 从tfrecord恢复图像并保存在硬盘中
- 24. 保存/恢复Ruby的随机
- 25. android webview的保存/恢复状态
- 26. 无法恢复保存的Virtualbox状态
- 27. 保存/恢复PHP的rand状态()
- 28. 恢复未保存的宏(VBA PowerPoint)
- 29. 保存和恢复NSTextView的位置
- 30. 保存和恢复数据的问题
你真的不应该再使用'ArrayList'了。你应该使用'List',以便你有一个强类型的集合。 –
Servy
2012-07-24 17:11:06