在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

初始点