zoukankan      html  css  js  c++  java
  • 序列化和反序列化

    class Program
    {

    public static void Main()
    {

    // 创建一个新的测试对象

    TestSimpleObject obj = new TestSimpleObject();

    Console.WriteLine("Before serialization the object contains: ");

    obj.Print();

    // 创建一个文件"data.xml"并将对象序列化后存储在其中

    Stream stream = File.Open("data.xml", FileMode.Create);

    SoapFormatter formatter = new SoapFormatter();

    //BinaryFormatter formatter = new BinaryFormatter();

    formatter.Serialize(stream, obj);

    stream.Close();

    // 将对象置空

    obj = null;

    // 打开文件"data.xml"并进行反序列化得到对象

    stream = File.Open("data.xml", FileMode.Open);

    formatter = new SoapFormatter();

    //formatter = new BinaryFormatter();

    obj = (TestSimpleObject)formatter.Deserialize(stream);

    stream.Close();

    Console.WriteLine("");

    Console.WriteLine("After deserialization the object contains: ");

    obj.Print();

    }

    }

    // 一个要被序列化的测试对象的类

    [Serializable()]

    public class TestSimpleObject
    {

    public int member1;

    public string member2;

    public string member3;

    public double member4;

    // 标记该字段为不可被序列化的

    [NonSerialized()]
    public string member5;

    public TestSimpleObject()
    {

    member1 = 11;

    member2 = "hello";

    member3 = "hello";

    member4 = 3.14159265;

    member5 = "hello world!";

    }

    public void Print()
    {

    Console.WriteLine("member1 = '{0}'", member1);

    Console.WriteLine("member2 = '{0}'", member2);

    Console.WriteLine("member3 = '{0}'", member3);

    Console.WriteLine("member4 = '{0}'", member4);

    Console.WriteLine("member5 = '{0}'", member5);

    }



    }


  • 相关阅读:
    Nebula通关指南
    hackersonlineclub.com
    PHP设计的超强大的文件上传类(单文件上传)
    PHP面向对象实例(图形计算器)
    DIV+CSS布局网站基本框架
    python的threading模块
    Python 命令行参数和getopt模块详解
    python optparse模块
    python的sys模块
    python实现简单的netcat
  • 原文地址:https://www.cnblogs.com/wrnsweet/p/6178949.html
Copyright © 2011-2022 走看看