A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 管章鹏 中级黑马   /  2013-4-10 09:08  /  849 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将几个int、字符串添加到ArrayList中,然后序列化到文件中,再反序列化回来?如何反序列化以后还能得到一个ArrayList?

1 个回复

倒序浏览
按照你的要求我做了如下程序,水平有限,仅供参考!
  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.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马