Как использовать сериализацию?

Довольно часто в документации к .NET проектам встречаю это слово - "сериализация". Не могли бы Вы поподробнее объяснить что это и для чего это нужно, а также как это использовать?
  • Вопрос задан
  • 3252 просмотра
Решения вопроса 1
Объясню несколько абстрактно. С конкретными терминами определитесь сами. Предположим, у вас есть некий объект. Пусть это массив. Это сложный тип данных.

Сериализация позволяет привести этот объект к последовательности байтов (часто ее можно рассматривать как строку, созданную по определенным правилам), которую в дальнейшем можно десериализовать, то есть получить из нее исходный объект.

Для чего это нужно? Сохранить сложный объект где-либо. Например, в единственном поле БД, в сессии, в куках, просто в файле. С возможностью получить исходный объект в дальнейшем.

Или для передачи. Допустим, вы собрали данные от пользователя с некоторой формы, получив массив данных. Эти данные надо отправить на сервер. В качестве параметра запроса может выступать строка, но не массив. Поэтому перед передачей массив необходимо сериализовать.

Как использовать. Там есть и от майкрософта статьи, и вполне разжеванная от code-inside. В общем, на любой вкус.

А ваши комментарии о том, что интересует сериализация именно на C#, несколько неуместны. Очень многие термины и процессы в программировании мало изменяются от языка к языку. Различается лишь синтаксис и способы использования. Сама суть сохраняется.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
Вики пишет что сериализация это "процесс перевода какой-либо структуры данных в последовательность битов". И обратная сторона - десериализация.
Если вам нужно передать сложный объект с помощью какого-либо транспорта (файл, TCP-IP соединение, и.т.д) вам надо ваш объект на одной стороне перевести в последовательность байт, а на другой стороне восстановить из последовательности байт. Это и есть сериализация - десериализация.
Во всех ЯП сверхвысокого уровня типы C#, Ruby, Python и т. д. есть встроенные механизмы сериализации, но иногда разработчики переопределяют методы сериализации \ десериализации для каких-то своих целей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы