Export (0) Print
Expand All

Convert.ChangeType Method (Object, Type, IFormatProvider)

Returns an Object with the specified Type and whose value is equivalent to the specified object. A parameter supplies culture-specific formatting information.

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

public static Object ChangeType (
	Object value,
	Type conversionType,
	IFormatProvider provider
)
public static Object ChangeType (
	Object value, 
	Type conversionType, 
	IFormatProvider provider
)
public static function ChangeType (
	value : Object, 
	conversionType : Type, 
	provider : IFormatProvider
) : Object
Not applicable.

Parameters

value

An Object that implements the IConvertible interface.

conversionType

A Type.

provider

An IFormatProvider interface implementation that supplies culture-specific formatting information.

Return Value

An object whose Type is conversionType and whose value is equivalent to value. -or- value, if the Type of value and conversionType are equal. -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.

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).

provider enables the user to specify culture-specific conversion information about the contents of value. For example, if value is a String that represents a number, provider could supply culture-specific information about the notation used to represent that number.

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

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);        
    }
}

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

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);        
    }
}

Windows 98, Windows Server 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 Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft