Definition - What does Serialization mean?
Serialization is the process of converting the state information of an object instance into a binary or textual form to persist into storage medium or transported over a network.
Serialization is executed by Common Language Runtime (CLR) to save an object‘s current state information to a temporary (like ASP.NET cache) or permanent storage (file, database, etc.) so as to be used later to update an object with this same information. It involves the conversion of public and private members of an object including the name of class and assembly into a stream of bytes, which is then written to data stream. The reverse process of converting stream of bits into an object is called deserialization.
The .NET framework offers two methods of serialization, namely, binary serialization and XML serialization. Binary serialization preserves the state of the object between different invocations of an application by preserving type fidelity. XML serialization uses XML as an open standard to serialize only the public properties and fields. It does not preserve type fidelity but provides support for serialization in human-readable, cross-platform XML. The framework provides many options to customize the serialization process to meet application requirements.
Techopedia explains Serialization
Serialization can be implemented in any .NET objects by including the attribute Serializable to the class. By tagging the OptionalField attribute to the newly added members of the class, the earlier versions of the object can be deserialized without any error. The serialization engine used in .NET framework ensures that serialization occurs only once per object and handles object graphs and circular references automatically.