Сериализация массива в C#

Я всегда нахожу очень сложный способ сериализации всех видов объектов, списков и кто знает, Но я не могу найти простой способ сериализации массива.

(Я нашел один, но его сериализация массива в двоичный файл, и мне нужно иметь возможность редактировать сериализованный файл в любом обычном текстовом редакторе [это языковой файл, мне нужно дать копии моим коллегам, чтобы они могли перевести файл на другие языки/])

5 ответов


предполагая, что Ваш массив представляет собой массив строк...

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

точка отсчета