在C#中序列化数组
我总是找到非常复杂的方法来序列化所有类型的对象,列表和谁知道,但我似乎无法找到序列化数组的简单方法。
(我发现了一个 ,但它将数组序列化为二进制文件,我需要能够在任何常规文本编辑器中编辑序列化文件[这是一个语言文件,我需要给我的同事复制,这样他们就可以了将文件翻译成其他语言/])
假设你的数组是一个字符串数组……
using (var stream = File.Create("file.xml")) { var serializer = new XmlSerializer(typeof(string[])); serializer.Serialize(stream, someArrayOfStrings); }
将创建一个非常容易理解/修改的简单XML文件。 要反序列化它,请使用Deserialize方法。
人类可读? 我会选择JavaScriptSerializer; 只是:
string json = new JavaScriptSerializer().Serialize(arr);
这是一个语言文件,我需要将副本提供给我的同事,以便他们可以将文件翻译成其他语言
XML序列化是理想的,它基于上述声明
如果序列化数组需要在文本编辑器中可移植和可编辑,那么您可以使用XML或Json进行序列化
最好的学习方法是看看如何使用xsd将其序列化为xml
初始点