The software industry is awash with complex terms and acronyms. The same is possibly true for the area of object serialization. However, this isn’t a difficult area of C# coding to learn, and the .NET platform provides some elegant facilities.
Beyond basic binary serialization and de-serialization, you also can serialize in XML and SOAP formats. These formats facilitate the sharing of C# program objects with other platforms. Specifically, the SOAP option makes possible the transfer of C# program objects to remote web services facilities. There is great scope for development using such mechanisms, and the serialization facilities allow for fine-tuning the way objects are written to persistent storage. For example, private fields can be marked as [NonSerialized] to ensure that they’re not written to external storage. Code can be written to intercept the serialization mechanism and perform preprocessing on object data before writing it to storage. You can even serialize collections of related objects.
One final note about the C# object serialization mechanism: It also provides support for multiple versions of object data.
Check out Stephen’s InformIT blog and eBook. He also has an Amazon.com short, "Move Your Career Up the Value Chain." His article "Moving C++ and Java Programmers Up the Value Chain" focuses specifically on the value chain for C++ programming.