黑马程序员技术交流社区

标题: 序列化 [打印本页]

作者: 管章鹏    时间: 2013-4-10 09:08
标题: 序列化
将几个int、字符串添加到ArrayList中,然后序列化到文件中,再反序列化回来?如何反序列化以后还能得到一个ArrayList?
作者: 张正强    时间: 2013-4-10 14:07
按照你的要求我做了如下程序,水平有限,仅供参考!
  1. static void Main(string[] args)
  2.         {
  3.             ArrayList arrlist = new ArrayList();//创建一个ArrayList对象
  4.             Random rd = new Random();//随机数
  5.             for (int i = 0; i < 10; i++)
  6.             {
  7.                 arrlist.Add(rd.Next(0, 100));//将产生的随机数添加到ArrayList中
  8.             }
  9.             //序列化到test.dat文件中
  10.             using (Stream st = File.Open("../../test.dat", FileMode.Create))
  11.             {
  12.                 BinaryFormatter bf = new BinaryFormatter();
  13.                 bf.Serialize(st, arrlist);//执行序列化
  14.             }
  15.             //从test.dat文件中反序列化
  16.             using (Stream st = File.Open("../../test.dat", FileMode.Open))
  17.             {
  18.                 BinaryFormatter bf = new BinaryFormatter();
  19.                 object o= bf.Deserialize(st);//执行反序列化

  20.                 ArrayList arr = o as ArrayList;//转换为ArrayList

  21.                 for (int i = 0; i < arr.Count; i++)
  22.                 {
  23.                     Console.Write(i+" ");
  24.                 }
  25.             }
  26.             Console.ReadKey();
  27.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2