如何序列化和反序列化C#整数数组? [英] How to serialize and deserialize a C# array of integers?

查看:631
本文介绍了如何序列化和反序列化C#整数数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这应该真的很容易,但是我遇到了一些麻烦,所以我认为能获得一些帮助会很棒.

This should be really easy but I'm having some trouble so I thought it'd be great to get some help.

推荐答案

假设您的数组是Int32的数组...

Assuming your array is an array of Int32...

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

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

Will create a simple XML file that is very easy to understand/modify. To deserialize it, use the Deserialize method.

JSON格式:

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Runtime.Serialization.Json;
 using System.IO;
 using System.Text;  
 /// <summary>
 /// JSON Serialization and Deserialization Assistant Class
 /// </summary>
 public class JsonHelper
 {
     /// <summary>
     /// JSON Serialization
     /// </summary>
     public static string JsonSerializer<T> (T t)
     {
         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
         MemoryStream ms = new MemoryStream();
         ser.WriteObject(ms, t);
         string jsonString = Encoding.UTF8.GetString(ms.ToArray());
         ms.Close();
         return jsonString;
     }  
     /// <summary>
     /// JSON Deserialization
     /// </summary>
     public static T JsonDeserialize<T> (string jsonString)
     {
         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
         MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
         T obj = (T)ser.ReadObject(ms);
         return obj;
     }
 }

这篇关于如何序列化和反序列化C#整数数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆