在C#中序列化数组

Gil*_*man 7 c# serialization

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

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

Jos*_*osh 11

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

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

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


Mar*_*ell 6

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

string json = new JavaScriptSerializer().Serialize(arr);
Run Code Online (Sandbox Code Playgroud)