在C#中序列化数组

时间:2010-12-05 17:21:01

标签: c# serialization

我总是找到非常复杂的方法来序列化所有类型的对象,列表和谁知道, 但我似乎找不到一种序列化数组的简单方法。

(我发现一个,但它将数组序列化为二进制文件,我需要能够在任何常规文本编辑器中编辑序列化文件[这是一个语言文件,我需要给我的同事复印件,以便他们可以将文件翻译成其他语言/])

5 个答案:

答案 0 :(得分:11)

假设你的数组是一个字符串数组......

using (var stream = File.Create("file.xml")) {
    var serializer = new XmlSerializer(typeof(string[]));
    serializer.Serialize(stream, someArrayOfStrings);
}

将创建一个易于理解/修改的简单XML文件。要反序列化它,请使用Deserialize方法。

答案 1 :(得分:6)

人类可读吗?我会选择JavaScriptSerializer;只是:

string json = new JavaScriptSerializer().Serialize(arr);

答案 2 :(得分:2)

  

这是一个语言文件,我需要给出   复制给我的同事所以他们可以   将文件翻译成其他语言

XML序列化是理想的,它基于上述声明

答案 3 :(得分:2)

如果序列化数组需要在文本编辑器中可移植和编辑,那么可以使用XML或Json进行序列化

答案 4 :(得分:1)

最好的学习方法是看看如何使用序列化为xml的xsd

starting point