zoukankan      html  css  js  c++  java
  • 对像转成 和 byte 互转类库方法

    using System;
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    namespace Dscf.Global.Utils
    {
        public class ObjectUtils
        {
            /// <summary>
            /// 对像转成 byte 数组
            /// </summary>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static byte[] ObjectToByte(Object obj)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    IFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(ms, obj);
                    return ms.GetBuffer();
                }
            }
            /// <summary>
            /// 把序列化的数组转成对像
            /// </summary>
            /// <param name="bytes"></param>
            /// <returns></returns>
            public static Object ByteToObject(byte[] bytes)
            {
                using (MemoryStream ms = new MemoryStream(bytes))
                {
                    IFormatter formatter = new BinaryFormatter();
                    Object obj = formatter.Deserialize(ms);
                    return obj;
                }
            }
            /// <summary>
            /// 克隆一个对像
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            /// <returns></returns>
            public static T CloneObject<T>(T t)
            {
                byte[] bb = ObjectToByte(t);
                object obj= ByteToObject(bb);
                return (T)obj;
            }
        }
    }
  • 相关阅读:
    基于物品属性的过滤
    第一个极小的机器学习的应用
    基于物品过滤的Slope One 算法
    【转】Python爬虫(1)_基本原理
    程序猿面试题集锦
    Django:popup弹出框简单应用实例
    【转】Python max内置函数详细介绍
    MySQL数据库(9)_MySQL数据库常用操作命令
    【转】Python的hasattr() getattr() setattr() 函数使用方法详解
    Git常用命令
  • 原文地址:https://www.cnblogs.com/dullbaby/p/4838037.html
Copyright © 2011-2022 走看看