zoukankan      html  css  js  c++  java
  • 【基础知识】.Net基础加强08天

    一、 文件的读取

    1. 有FileStrem,为什么还要StreamWriter和StreamRead

    StreamWriter和StreamRead是用来读取文本文件的,每次只读取一行文本文件

    二、 对象的序列化(二进制序列化)

    1. 对象序列化是什么呢?

    对象序列化是将对象(比如Person对象)。对象是稍纵即逝的,不仅程序重启、操作系统重启会造成对象的消失,就是退出函数范围等都可能造成对象的消失,序列化/反序列化就是为了保持对象的持久化。就像用DV录像(序列化)和播放器播放(反序列化)一样。

    2. 反序列化步骤:

    a) 创建二进制序列化器(或者叫做格式化器)

    BinaryFormatter bf = new BinaryFormatter();

    b) 开始执行反序列化

    3. 为什么反序列化的时候需要原来定义Person类的那个程序集?

    反序列化的时候,要返回一个对象,这个对象必须根据原来Person所在的程序集才能创建,也就是说Person.bin中包含的仅仅是一些数据,根据这些数据是无法在内存中创建对象的。只能是根据原来Person类型的程序集来创建对象,然后把person.bin中的数据一一对应进行赋值。

    4. 总结:

    对象序列化,只是对象的一些状态信息进行序列化(比如字段)。

    对于方法之类的根本不进行序列化,也就是说person.bin中只包含字段名和字段值,根本没有方法信息。

    但是反序列化的时候,,返回的是一个对象,那么只根据这些字段信息是无法创建对象的,所以这个时侯需要先根据原来的程序集,获取Person类型,然后在内存中创建一个Person对象然后在把反序列化得到的字段信息赋值给这个Person对象。

    三、 正则表达式

  • 相关阅读:
    当面对会反制遭破解装置的App该如何顺利提取数据
    管理信息系统的开发与管理
    加载静态文件,父模板的继承和扩展
    开始Flask项目
    夜间模式的开启与关闭,父模板的制作
    完成登录与注册页面的前端
    JavaScript 基础,登录验证
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
  • 原文地址:https://www.cnblogs.com/haoxilu/p/3570779.html
Copyright © 2011-2022 走看看