2010-12-05 20 views
6

Siempre encuentro una manera muy sofisticada de serializar todo tipo de objetos, listas y quién sabe, Pero parece que no puedo encontrar una forma sencilla de serializar una matriz.Serializar una matriz en C#

(me encontré uno, pero su serialización de la matriz a un archivo binario, y tengo que ser capaz de editar el archivo serializado en cualquier editor de texto normal [Es un archivo de idioma, necesito entregar copias a mi compañeros de trabajo para que puedan traducir el archivo a otros idiomas /])

+1

Uhm, ... ¿necesita que sea legible? ¿Por qué no utilizar la sintaxis similar a JSON para la serialización? O XML? – slezica

Respuesta

10

Asumiendo que su matriz es una matriz de cadenas ...

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

Creará un archivo XML simple que es muy fácil de comprender/modificar. Para deserializarlo, use el método Deserialize.

+0

¡Gracias! Espero que funcione –

+1

¿Puedes traer un ejemplo de deserialización? –

2

Es un archivo de idioma, necesito dar copias a mis compañeros de trabajo para que puedan traducir el archivo en otro idioma

Serialización XML es ideal suena como sobre la base de la declaración anterior

1

mejor manera de aprender es mirar cómo se hace con un xsd que serializar en un xml

starting point

2

Si la matriz serializada necesita para ser portátil y editable en una editor de texto, a continuación, puede utilizar XML o JSON serializar

6

¿Legible para humanos? Me gustaría ir a JavaScriptSerializer; sólo:

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