• 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();
            }
    
        }
    }
    
    

    实现效果:

  • 相关阅读:
    Navicat 安装教程
    office 2016 安装教程
    PyCharm 2018.1.1软件安装教程
    Pytorch学习笔记02----深度学习中的epochs,batch_size,iterations详解
    Anaconda 安装步骤
    Python基础汇总001_txt文件读写、字典使用等
    Pytorch学习笔记01----pytorch框架介绍
    es6的学习
    vue的使用与安装 npm -v报错
    js弹窗返回值详解(window.open方式)
  • 原文地址:https://www.cnblogs.com/ButterflyEffect/p/6791436.html
Copyright © 2020-2023  润新知