• 对象序列化初步


          所谓对象序列化Serialization,是指将对象保存到流Steam中(一般是磁盘文件数据流,可以使对象“永生”),需要时可以从流中重新读取数据重建对象(称为反序列化Deserialization)。

    (1)定义被序列化的类,即加上[Serializable]属性。如

        [SerializableAttribute]
        public class Student
        {
            string name;

            public string Name
            {
                get { return name; }
                set { name = value; }
            }
            public void SayHi()
            {
                Console.WriteLine("Hi,My name is {0}.",Name);
            }
        }

    (2)调用BinaryFormatter类的Serialize方法进行序列化。如

            public static void Save(Student s)
            {
                using (FileStream fileStream = new FileStream("profile.bin", FileMode.Create))
                {
                    BinaryFormatter bf = new BinaryFormatter();
                    bf.Serialize(fileStream, s);
                    fileStream.Close();
                }
            }

    (3)调用BinaryFormatter类的Deserialize方法进行反序列化。如

            public static Student Load()
            {
                Student s = new Student();
                using (FileStream fileStream = new FileStream("profile.bin", FileMode.Open))
                {         
                    BinaryFormatter bf = new BinaryFormatter();
                    s= (Student)bf.Deserialize(fileStream);
                    fileStream.Close();
                }
                return s;
            }

    (4)需要时可以调用上面的方法,进行序列化和反序列化:

            static void Main(string[] args)
            {
                Student s = new Student();
                s.Name = "aa";
                Save(s);
                Student otherStudent = Load();
                otherStudent.SayHi();
                Console.ReadKey();

            }

         在这过程中需要引用命名空间:

          using System.Runtime.Serialization.Formatters.Binary;
          using System.IO;

  • 相关阅读:
    当spfile文件中的参数修改错误,导致数据库无法启动问题
    oracle的shared server模式和dedicated server模式
    概述oracle的内存结构
    oracle进程简介
    TNS12516及ORA12516错误解决
    如何打补丁及升级
    关于sqlplus的简单概述
    修改参数之后数据库无法启动问题
    oracle的后台进程杀掉会有什么影响
    远程连接oracle数据库ORA12154错误
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2034043.html
Copyright © 2020-2023  润新知