2010-12-05 6 views
6

Je trouve toujours un moyen très sophistiqué de sérialiser tous les types d'objets, de listes et de personnes qui savent, Mais je n'arrive pas à trouver un moyen simple de sérialiser un tableau.Sérialiser un tableau en C#

(j'ai trouvé un, mais son sérialisation le tableau dans un fichier binaire, et je dois pouvoir éditer le fichier sérialisé dans un éditeur de texte [Il est un fichier de langue, je dois donner des copies à mon collègues afin qu'ils puissent traduire le fichier dans d'autres langues /])

+1

Uhm, ... vous avez besoin qu'il soit lisible par l'homme? Pourquoi ne pas utiliser la syntaxe JSON-like pour la sérialisation? Ou XML? – slezica

Répondre

10

Si l'on suppose votre tableau est un tableau de chaînes ...

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

Créer un fichier XML simple, très facile à comprendre/modifier. Pour le désérialiser, utilisez la méthode Deserialize.

+0

Merci! J'espère que ça marchera –

+1

Pouvez-vous apporter un exemple de désérialisation? –

2

Il est un fichier de langue, je dois donner exemplaires à mes collègues afin qu'ils puissent traduire le fichier dans d'autres langues

La sérialisation XML est idéale sonne comme base de la déclaration ci-dessus

1

meilleure façon d'apprendre est de regarder comment il est fait avec un xsd qui sérialisent dans un xml

starting point

2

Si le tableau sérialisé doit être portable et modifiable dans un éditeur de texte, vous pouvez utiliser XML ou JSON pour sérialiser

6

Lecture lisible par l'homme? J'irais pour JavaScriptSerializer; juste:

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