Сериализация в C#

Все ниже изложенное рассчитано только на новичков ,вопрос рассмотрен сугубо для поверхностного представления о сериализации в С#, поэтому просьба ядом не поить, к стене не отправлять.

----------------------<cut>----------------------

Сериализация — способ перевода какой-либо структуры данных в последовательность битов. Обратной операции сериализации является операция десериализации — восстановление начального состояния структуры данных из битовой последовательности.
Сериализация используется для преобразования объектов в байтовый массив который потом сохраняется в файл, передается через сеть или же сохраняется в БД.
Для начала нам необходим класс, перед объявлением которого мы ставим метку, что он сериализуемый, с помощью маркера [Serializable].

using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
[Serializable]
 public class Data
 {
 public int ID;
 public DateTime Date;
 public string Text;
 }

Затем в нужном нам месте программы сериализуем наш клаcc:

public byte[] ConverDataToByteArrey(Data DataClass)
{
BinaryFormatter formatter = new BinaryFormatter();
 MemoryStream stream = new MemoryStream();
 formatter.Serialize(stream, DataClass);
 return stream.ToArray();
}

Обратный процесс столь же прост:

public Data ConverByteArreyToData(byte[] binaryData)
{
BinaryFormatter formatter = new BinaryFormatter();
 MemoryStream ms = new MemoryStream(binaryData);
 return (Data)formatter.Deserialize(ms);
}

Инфа по сериализации
MSDN

Тэги:

Комментарии

    Нет комментариев
комментарии
^ Наверх