Type conversion is converting one type of data to another type. It is also known as Type Casting. In C#, type casting has two forms −
Implicit type conversion − These conversions are performed by C# in a type-safe manner. For example, are conversions from smaller to larger integral types and conversions from derived classes to base classes.
Explicit type conversion − These conversions are done explicitly by users using the pre-defined functions. Explicit conversions require a cast operator.
The following example shows an explicit type conversion −
using System; namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // cast double to int. i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
When the above code is compiled and executed, it produces the following result −
5673
C# provides the following built-in type conversion methods −
Sr.No. | Methods & Description |
---|---|
1 | ToBoolean Converts a type to a Boolean value, where possible. |
2 | ToByte Converts a type to a byte. |
3 | ToChar Converts a type to a single Unicode character, where possible. |
4 | ToDateTime Converts a type (integer or string type) to date-time structures. |
5 | ToDecimal Converts a floating point or integer type to a decimal type. |
6 | ToDouble Converts a type to a double type. |
7 | ToInt16 Converts a type to a 16-bit integer. |
8 | ToInt32 Converts a type to a 32-bit integer. |
9 | ToInt64 Converts a type to a 64-bit integer. |
10 | ToSbyte Converts a type to a signed byte type. |
11 | ToSingle Converts a type to a small floating point number. |
12 | ToString Converts a type to a string. |
13 | ToType Converts a type to a specified type. |
14 | ToUInt16 Converts a type to an unsigned int type. |
15 | ToUInt32 Converts a type to an unsigned long type. |
16 | ToUInt64 Converts a type to an unsigned big integer. |
The following example converts various value types to string type −
using System; namespace TypeConversionApplication { class StringConversion { static void Main(string[] args) { int i = 75; float f = 53.005f; double d = 2345.7652; bool b = true; Console.WriteLine(i.ToString()); Console.WriteLine(f.ToString()); Console.WriteLine(d.ToString()); Console.WriteLine(b.ToString()); Console.ReadKey(); } } }
When the above code is compiled and executed, it produces the following result −
75 53.005 2345.7652 True