zoukankan      html  css  js  c++  java
  • ArrayList的序列化

     
    定义一个ArrayList,存放Int,String等基本类型可以被序列化。
    自定义一个类,也可以被序列化。
    但是把类添加到ArrayList,序列化有点问题,后来发现需要制定ExtraType[]参数。
        [WebMethod]
        public string SerializeQuestionsByDatetime()
        {
            ArrayList questions = new ArrayList();
            foreach (QuestionModel model in Questions.GetQuestionsByStateScoreOrDatetime(2, 12, 1, 1))
            {
                questions.Add(model);
            }
            Type[] extra = new Type[1];
            extra[0] = typeof(QuestionModel);
            XmlSerializer xs = new XmlSerializer(typeof(ArrayList),extra);
            MemoryStream ms = new MemoryStream();
            XmlTextWriter tw = new XmlTextWriter(ms, Encoding.Default);
            xs.Serialize(tw, questions);
            tw.Close();
            return Encoding.Default.GetString(ms.ToArray());
        }
    反序列化的代码
        public ArrayList DeserializeQuestionsByDatetime(string serQuestions, Type type, Type[] extratype)
        {
            XmlSerializer xs = new XmlSerializer(type, extratype);
            StreamReader sr = new StreamReader(new MemoryStream(System.Text.Encoding.Default.GetBytes(serQuestions)), System.Text.Encoding.Default);
            return (ArrayList)xs.Deserialize(sr);
        }
  • 相关阅读:
    mybatis 之 占位符#{} 和 ${}
    mybatis的#{}占位符和${}拼接符的区别
    MyBatis 批量操作、集合遍历-foreach
    Oracle查看和修改连接数
    linux下启动关闭oracle
    kafka的OffsetOutOfRangeError
    redis批量删除key
    mysql连接慢,修改配置文件
    [linux] ping服务器脚本
    oracle游标
  • 原文地址:https://www.cnblogs.com/godwar/p/1128132.html
Copyright © 2011-2022 走看看