用C#为本地记分板保存数组

用C#为本地记分板保存数组,c#,arrays,windows-8,save,C#,Arrays,Windows 8,Save,我正在为Windows 8开发一个应用程序,它有一个本地化的leader board。该领导委员会的数据存储在两个数组中:名称和分数。(是的,集合可能工作得更好,但在我的代码中使用数组要容易得多)。我现在想知道如何保存这两个数组并重新加载它们 到目前为止,我看到的所有关于保存数据的示例都只显示了如何保存设置,而我的800页的C#book恰好完全跳过了保存数据 我的两个数组当前声明为: static string[] names = new string[100]; static int[] sc

我正在为Windows 8开发一个应用程序,它有一个本地化的leader board。该领导委员会的数据存储在两个数组中:名称和分数。(是的,集合可能工作得更好,但在我的代码中使用数组要容易得多)。我现在想知道如何保存这两个数组并重新加载它们

到目前为止,我看到的所有关于保存数据的示例都只显示了如何保存设置,而我的800页的C#book恰好完全跳过了保存数据

我的两个数组当前声明为:

static string[] names = new string[100];
static int[] scores = new int[100];
我正在运行Windows 8.1 Pro的系统上使用Visual Studio Express 2012 for Windows 8


感谢您的帮助。

为了让您开始,这里有一些在Windows 8应用程序中序列化和保存的示例代码。正如其他人所建议的,查看XMLObjectSerialization内容非常有用

string[] names = new string[100];
StorageFolder folder = ApplicationData.Current.RoamingFolder;
XmlWriterSettings set = new XmlWriterSettings();
set.Encoding = Encoding.Unicode;

XmlObjectSerializer serializer = new DataContractSerializer(typeof(string[]));
Stream stream = await folder.OpenStreamForWriteAsync("filename", CreationCollisionOption.ReplaceExisting);
XmlWriter writer = XmlWriter.Create(stream, set);
serializer.WriteObject(writer, names);

请查看链接中的以下方法

您试图保存的只是
(name | score)
配对。它类似于字典。下面的链接对此进行了解释


如果您的应用程序很简单,那么这应该相当简单。但正如其他人所提到的,如果您想扩展到分数之外或开发一个复杂的应用程序,您应该尝试序列化和xmls文件

为什么不将数组转换为xml?看看如何使用序列化将数据转换为一种很好的格式以保存到文件中。Xml、Json或二进制文件都可以。看看你们有哪本800页的书?它必须一步一步地提到独立存储Microsoft Visual C#2013//