今天做一个项目中用到把DataSet对象序列化成文件,并上传到服务器,不过生成的文件比较大,就想着压缩一下,找了一下资料,用GZipStream来压缩了一下,效果还是非常理想的。现在把这部分代码整理了一下: using System.Data; using System.IO; using System.IO.Compression; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; namespace DataSetSerializerDeserialize { class Program { /// <summary> /// 序列化DataSet对象并压缩 /// </summary> /// <param name="ds"></param> static void DataSetSerializerCompression(DataSet ds) { IFormatter formatter = new BinaryFormatter();//定义BinaryFormatter以序列化DataSet对象 MemoryStream ms = new MemoryStream();//创建内存流对象 formatter.Serialize(ms, ds);//把DataSet对象序列化到内存流 byte[] buffer = ms.ToArray();//把内存流对象写入字节数组 ms.Close();//关闭内存流对