 | XML Serialization With XML serialisation, the public state of objects can be converted into an XML document. Such XML information is often stored on disk to persist data for later use, or is transported over a network or the Internet to send messages between computers. |
 | The Nullable<T> Structure One of the problems with most value types is the inability to specify that they contain an undefined value. This is unlike reference types, which may hold a null reference to indicate that they have no value. The Nullable<T> structure resolves this issue. |
 | Deep Cloning Using Binary Serialization Cloning is the process of creating copies of objects or object graphs. The .NET framework provides methods for creating shallow copies, where a single object is cloned. Deep cloning can be achieved in several manners, including using serialization. |
 | Generics and Default Values When using generics, classes, structs and methods can be created that process data types that are not defined until used. As reference types and value types represent default values differently, it is important to be able to set those defaults correctly. |
 | Binary Serialization A standard problem with object-oriented languages is that of persisting object state. Binary serialization allows single objects or complex models to be converted to binary streams, which may be stored in files or transported to other systems. |
 | Generic Methods The .NET framework versions 2.0 and later support the use of generic programming, allowing greater reuse of code with classes and members that can be created without specifying the types that they work with. This article considers generic methods. |
 | Generic Types Microsoft introduced generics to the .NET framework with version 2.0. Generic programming allows highly reusable classes to be created without specifying the types that they operate upon. These types are only provided when the class is used. |
 | Func and Action Delegates The Func and Action generic delegates were introduced in the .NET framework version 3.5. They provide flexible delegates with generic parameters that can be used for many purposes, including passing lambda expressions to method parameters. |
 | Character Testing with the Char Structure When developing software that may be deployed in many countries, it is important to be able to determine the type of a character according to the rules of the local culture and language. The Char structure provides methods to simplify this process. |
 | Environment.NewLine When working with strings that contain multiple lines of text, each line is separated with a line break. Line breaks are often added by inserting carriage return and line feed escape characters. This can cause cross-platform compatibility problems. |
|
|