2010-12-05 3 views
6

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

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

+1

Ухм, ... вам нужно, чтобы он был доступен для людей? Почему бы не использовать JSON-подобный синтаксис для сериализации? Или XML? – slezica 2010-12-05 17:24:59

ответ

10

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

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

Создает простой XML-файл, который очень легко понять/изменить. Чтобы десериализовать его, используйте метод Deserialize.

+0

Спасибо! Я надеюсь, что это сработает – 2010-12-05 17:53:43

2

Это язык файл, мне нужно дать копий моих коллег, чтобы они могли перевести файл на другой язык

XML Сериализация идеально подходит Похоже, на основе вышеприведенного заявления

1

лучший способ узнать это посмотреть на то, как это делается с помощью XSD, что сериализации в XML

starting point

2

Если сериализованные массив должен быть портативным и редактируемые в текстовый редактор, то вы можете использовать XML или JSON для сериализации

6

Доступен для человека? Я бы пошел на JavaScriptSerializer; just:

string json = new JavaScriptSerializer().Serialize(arr); 
Смежные вопросы