Сериализация в C#
Все ниже изложенное рассчитано только на новичков ,вопрос рассмотрен сугубо для поверхностного представления о сериализации в С#, поэтому просьба ядом не поить, к стене не отправлять.
Сериализация — способ перевода какой-либо структуры данных в последовательность битов. Обратной операции сериализации является операция десериализации — восстановление начального состояния структуры данных из битовой последовательности.
Сериализация используется для преобразования объектов в байтовый массив который потом сохраняется в файл, передается через сеть или же сохраняется в БД.
Для начала нам необходим класс, перед объявлением которого мы ставим метку, что он сериализуемый, с помощью маркера [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
Комментарии


