zoukankan      html  css  js  c++  java
  • C# 控制台模拟序列化和反序列化

    序列化:将对象转换成二进制串的过程

    反序列化:将序列化过程中产生的二进制串转换成对象的过程

    作用:传输数据

    using System;
    
    namespace WriteTextContent
    {
        [Serializable]
        public class Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public char Sex { get; set; }
    
            public string DisplayInfo()
            {
                return "我的姓名是:" + Name + "
    我的年龄是:" + Age + "
    我的性别是:" + Sex;
            }
    
        }
    }
    
    using System;
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    
    namespace WriteTextContent
    {
        class Program
        {
            static void Main(string[] args)
            {
                IFormatter formatter = new BinaryFormatter();
                Console.WriteLine("对象序列化开始.....");
    
                var me = new Person
                {
                    Name = "tom",
                    Age = 22,
                    Sex = '男'
                };
    
                //创建文件流
                Stream stream = new FileStream("123.txt", FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
                formatter.Serialize(stream, me);
                stream.Close();
                Console.WriteLine("序列化结束!
    ");
                Console.WriteLine("反序列化开始……");
    
                //反序列化
                Stream destream = new FileStream("123.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
                var stillme = (Person)formatter.Deserialize(destream);
                stream.Close();
                Console.WriteLine("反序列化结束,输出对象信息……");
                Console.WriteLine(stillme.DisplayInfo());
                Console.ReadKey();
            }
    
        }
    }
    
    

    实现效果:

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/ButterflyEffect/p/6791436.html
Copyright © 2011-2022 走看看