C#

Сериализация любого объекта в байтовый массив и обратно

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;


public static byte[] ObjectToByteArray(object obj) //Переводим объект в массив
        {
            if (obj == null)
            {
                return null; //если объект пустой
            }
            BinaryFormatter BF = new BinaryFormatter(); 

            MemoryStream MS = new MemoryStream();

            BF.Serialize(MS, obj);

            return MS.ToArray();
        }

        public static object ByteArrayToObject(byte[] array) //Переводим массив в объект
        {
            if (array == null)
            {
                return null; //если объект пустой
            }
            MemoryStream MS = new MemoryStream();
            BinaryFormatter BF = new BinaryFormatter();
            MS.Write(array, 0, array.Length);
            MS.Seek(0, SeekOrigin.Begin);
            object obj = (object)BF.Deserialize(MS);
            return obj;
        }


Пример на заранее заданном массиве Data:
byte[] Data;
Dictionary<string,string> DickTator = (Dicktionary<string,string>)ByteArrayToObject(Data);


Честно спёр откуда-то :)
Теги:
Массивы, Сериализация, Готовые_функции
Добавлено: 10 Июня 2014 12:21:34 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...