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