• 序列化和反序列化问题


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    using System.IO;
    namespace BinarySerializableExample
    {
        [Serializable]//序列化
            //序列化的两个功能是:1:将对象的状态存储在媒体中,便于创建对象的精确的副本
            //2.通过值将对象从一个应用程序传送到另一个应用程序
        public class AuthUserEntry
        {
            private int accountId;
            private string accountName;
            public int AccountId
            {
                get
                {
                    return accountId;
                }
                set
                {
                    accountId = value;
                }
            }
            public string AccountName
            {
                get
                {
                    return accountName;
                }
                set
                {
                    accountName = value;
                }
            }
        }

        class Program
        {
            static void Main(string[] args)
            {
                AuthUserEntry ate = new AuthUserEntry();
                ate.AccountId = 21;
                ate.AccountName = "LiangShuai";
                IFormatter formatter = new BinaryFormatter();//序列化到一个二进制的文件.bin中
                Stream stream = new FileStream("UserInfo.bin",FileMode.Create,FileAccess.Write,FileShare.None);
                formatter.Serialize(stream,ate);
                stream.Close();
                //反序列化时要首先创建用于读取的流和格式化接口,然后用格式化接口反序列化该对象
                stream = new FileStream("UserInfo.bin",FileMode.Open,FileAccess.Read,FileShare.Read);
                AuthUserEntry auth = (AuthUserEntry)formatter.Deserialize(stream);
                stream.Close();
                Console.WriteLine("ID is{0}",auth.AccountId);
                Console.WriteLine("Name is {0}",auth.AccountName);
                Console.ReadKey();

            }
        }
    }

    未经许可禁止转载本博客内容
  • 相关阅读:
    ASP.NET Interview Questions
    [上海]招聘.Net高级软件工程师&BI数据仓库工程师(急)
    访问被拒绝:“microsoft.web.ui.webcontrols”的解决办法
    上海市区广场、商场、大厦中英文对照大全
    文件夹加密码方法
    JavaScript:使用面向对象的技术创建高级 Web 应用程序(转)
    对数据类型而言运算符无效。运算符为 add,类型为 text。
    SQL行列转换
    主成分分析(Principal components analysis)最小平方误差解释
    主成分分析(Principal components analysis)最大方差解释
  • 原文地址:https://www.cnblogs.com/liangshuai/p/2229281.html
Copyright © 2020-2023  润新知