.NET Framework Class Library
Convert.ChangeType Method (Object, Type)

Returns an Object with the specified Type and whose value is equivalent to the specified object.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

Visual Basic (Declaration)
Public Shared Function ChangeType ( _
    value As Object, _
    conversionType As Type _
) As Object
Visual Basic (Usage)
Dim value As Object
Dim conversionType As Type
Dim returnValue As Object

returnValue = Convert.ChangeType(value, conversionType)
C#
public static Object ChangeType (
    Object value,
    Type conversionType
)
C++
public:
static Object^ ChangeType (
    Object^ value, 
    Type^ conversionType
)
J#
public static Object ChangeType (
    Object value, 
    Type conversionType
)
JScript
public static function ChangeType (
    value : Object, 
    conversionType : Type
) : Object

Parameters

value

An Object that implements the IConvertible interface.

conversionType

A Type.

Return Value

An object whose Type is conversionType and whose value is equivalent to value. -or- a null reference (Nothing in Visual Basic), if value is a null reference (Nothing in Visual Basic) and conversionType is not a value type.
Exceptions

Exception typeCondition

InvalidCastException

This conversion is not supported.

-or-

value is a null reference (Nothing in Visual Basic) and conversionType is a value type.

ArgumentNullException

conversionType is a null reference (Nothing in Visual Basic).

Remarks

This method uses the current thread's culture for the conversion.

Example

The following code sample illustrates the use of the ChangeType method.

Visual Basic
Imports System

Public Class ChangeTypeTest
    
    Public Shared Sub Main()
        Dim d As [Double] = - 2.345
        Dim i As Integer = CInt(Convert.ChangeType(d, GetType(Integer)))
        
        Console.WriteLine("The double value {0} when converted to an int becomes {1}", d, i)
        Dim s As String = "12/12/98"
        Dim dt As DateTime = CType(Convert.ChangeType(s, GetType(DateTime)), DateTime)
        
        Console.WriteLine("The string value {0} when converted to a Date becomes {1}", s, dt)
    End Sub 'Main
End Class 'ChangeTypeTest
C#
using System;

public class ChangeTypeTest {
    public static void Main() {

        Double d = -2.345;
        int i = (int)Convert.ChangeType(d, typeof(int));

        Console.WriteLine("The double value {0} when converted to an int becomes {1}", d, i);

        string s = "12/12/98";
        DateTime dt = (DateTime)Convert.ChangeType(s, typeof(DateTime));

        Console.WriteLine("The string value {0} when converted to a Date becomes {1}", s, dt);        
    }
}
C++
using namespace System;

int main()
{
   Double d = -2.345;
   int i =  *safe_cast<Int32^>(Convert::ChangeType( d, int::typeid ));
   Console::WriteLine( "The double value {0} when converted to an int becomes {1}", d, i );
   String^ s = "12/12/98";
   DateTime dt =  *safe_cast<DateTime^>(Convert::ChangeType( s, DateTime::typeid ));
   Console::WriteLine( "The string value {0} when converted to a Date becomes {1}", s, dt );
}
J#
import System.*;

public class ChangeTypeTest
{
    public static void main(String[] args)
    {
        Double d = new Double(-2.345);
        int i = Convert.ToInt32((Convert.ChangeType(d, int.class.ToType())));

        Console.WriteLine("The double value {0} when converted to an "
            + "int becomes {1}", System.Convert.ToString(d),
            System.Convert.ToString(i));

        String s = "12/12/98";
        DateTime dt = (DateTime)(Convert.ChangeType(s, DateTime.
            class.ToType()));
        Console.WriteLine("The string value {0} when converted to "
            + "a Date becomes {1}", s, dt);
    } //main
} //ChangeTypeTest
JScript
import System;

public class ChangeTypeTest {
    public static function Main() {

        var d : Double = -2.345;
        var i : Int32 = Int32(Convert.ChangeType(d, Int32));

        Console.WriteLine("The double value {0} when converted to an int becomes {1}", d, i);

        var s : String = "12/12/98";
        var dt : DateTime = DateTime(Convert.ChangeType(s, DateTime));

        Console.WriteLine("The string value {0} when converted to a Date becomes {1}", s, dt);        
    }
}
Platforms

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Framework

Supported in: 2.0, 1.1, 1.0
See Also

Tags :


Page view tracker