- C# Basic Tutorial
 - C# - Home
 - C# - Overview
 - C# - Environment
 - C# - Program Structure
 - C# - Basic Syntax
 - C# - Data Types
 - C# - Type Conversion
 - C# - Variables
 - C# - Constants
 - C# - Operators
 - C# - Decision Making
 - C# - Loops
 - C# - Encapsulation
 - C# - Methods
 - C# - Nullables
 - C# - Arrays
 - C# - Strings
 - C# - Structure
 - C# - Enums
 - C# - Classes
 - C# - Inheritance
 - C# - Polymorphism
 - C# - Operator Overloading
 - C# - Interfaces
 - C# - Namespaces
 - C# - Preprocessor Directives
 - C# - Regular Expressions
 - C# - Exception Handling
 - C# - File I/O
 
- C# Advanced Tutorial
 - C# - Attributes
 - C# - Reflection
 - C# - Properties
 - C# - Indexers
 - C# - Delegates
 - C# - Events
 - C# - Collections
 - C# - Generics
 - C# - Anonymous Methods
 - C# - Unsafe Codes
 - C# - Multithreading
 
- C# Useful Resources
 - C# - Questions and Answers
 - C# - Quick Guide
 - C# - Useful Resources
 - C# - Discussion
 
- Selected Reading
 - UPSC IAS Exams Notes
 - Developer's Best Practices
 - Questions and Answers
 - Effective Resume Writing
 - HR Interview Questions
 - Computer Glossary
 - Who is Who
 
C# - Type Conversion
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
