ECMA-334 C# Language Specification

13: Conversions

A conversion enables an expression of one type to be treated as another type. Conversions can be implicit or explicit, and this determines whether an explicit cast is required. [Example: For instance, the conversion from type int to type long is implicit, so expressions of type int can implicitly be treated as type long . The opposite conversion, from type long to type int , is explicit and so an explicit cast is required.
int a = 123;  
long b = a;     // implicit conversion from int to long  
int c = (int) b;  // explicit conversion from long to int  
end example]
Some conversions are defined by the language. Programs may also define their own conversions (13.4).

In This Section: