我在运行时将一些字符串值存储在数组列表中。当应用程序关闭时,我想将数组列表中的数据存储在另一个位置,这样我就可以在下次启动应用程序时打开并检索数据。有哪些方法可以做到这一点?
答案 0 :(得分:1)
您可以使用Reading
和Writing
来自/到文件或将值存储在Windows注册表中。
对于从/到文件的读/写使用:
StreamReader sr = new StreamReader(@"C:/store.dll"); //for reading
StreamWriter sw = new StreamWriter(@"C:/store.dll"); //for writing
这是基本的。以下是两篇很棒的文章:
我用它来存储一个简单游戏的高分。 :)
Here是一个使用Windows注册表的好教程。
答案 1 :(得分:0)
你可以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;
}