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# Type Conversion Methods
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