ПредишенСледващото

Сериализирането в C #

Добър ден. Свързана Алекс Gulynina. В последната статия разгледахме работата с класа Path в C #. В тази статия бих искал да говоря за това, което сериализация в C #, и защо това е необходимо. Сериализация - изображение на обекта като поток байт. Deserialization - съоръжение за възстановяване и неговите данни от байт поток. Целите, за които може да се използват:

  • Спасяването на обекта в базата данни,
  • Запазване на файл обект,
  • За да можете да прехвърлите обекти по мрежата

прехвърлянето на тези байтове зависи от формата на това как да издавам.

сериализация формати

1. Binary. В този случай, данните за обектите са представени в двоичен вид. Това е най-оптималния вариант на сериализация по отношение на скоростта и размер. Недостатъкът на този вид се крие в нейното отношение към платформата. Да кажем, че: сте прехвърлили данни на друг програмист, който има същия .NET платформата и същата версия на платформата. В този случай, той ще бъде в състояние да десериализиране данните, в противен случай - не.

3. XML (Extensible Markup Language - Extensible Markup Language). Този тип обект сериализация е в XML формат.

4. Също така имайте предвид, че можете да напишете своето собствено serializer, която ще представи на обектите във формата, в която имате нужда.

Минимални стъпки, които трябва да направите, за да обекти на един клас са Serializable - тя виси на клас Serializable атрибут. По подразбиране, когато създавате клас, не се счита за Serializable. Когато се опитате да сериализира обект от този клас ще лети "изключение".

сериализация на процеса обект

Когато сериализиране полета от тип "ValueType" (инт, двойни, сивен, низ, bollean ...) просто се запазва тяхното значение. В случай на позоваване тип комплекс данни. Ако сме в полето на обекта на референтен тип, той ще бъде поредица, не само нашия оригинален предмет, но също така и на обектите, които са упоменати в тези области (няма да бъде сериализирани, един обект, а дървото обект). Всичко това е дърво на обектите трябва да принадлежат на Serializable класове, в противен случай лети "изключение".

Ако искаме да се определи за себе си какво е необходимо, за да издавам и кое не е, и как да го направя, това е, кои данни да се включат и как да се извлече в бъдеще, тогава ще трябва да приложат ISerializable интерфейс.

Също така, за да се сериализира обработена без проблеми, класа, трябва да има конструктор без параметри.

За повече информация относно този интерфейс, обсъдени в следващата статия.

Прост пример за това как трябва да изглежда поредица клас:

В тази статия се научили какво сериализация в C #.

Още статии.

  • Сериализирането в C #
    C # интерфейси
  • Сериализирането в C #
    StringBuilder C #
  • Сериализирането в C #
    Явните и скрити превръщане в C #
  • Сериализирането в C #
    Път в C #
  • Сериализирането в C #
    Json-сериализация в C #
Подкрепете проекта - споделете линка, благодаря!