Changes the type of the given Object to the given Type.
Assembly: mscorlib (in mscorlib.dll)
- Type: System.Object
The object to change into a new Type.
- Type: System.Type
The new Type that value will become.
- Type: System.Globalization.CultureInfo
An instance of CultureInfo that is used to control the coercion of data types. If culture is a null reference (Nothing in Visual Basic), the CultureInfo for the current thread is used.
Note For example, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures.
Return ValueType: System.Object
An object that contains the given value as the new type.
Reflection models the accessibility rules of the common type system. For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. Otherwise, the caller needs ReflectionPermission. This is consistent with lookup of members that are protected, private, and so on.
The general principle is that ChangeType should perform only widening coercions, which never lose data. An example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. This is distinguished from a narrowing coercion, which may lose data. An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.
The following table lists the coercions performed by the default ChangeType.
Its base type.
The interface it implements.
UInt16, UInt32, Int32, UInt64, Int64, Single, Double
Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
Int16, Int32, Int64, Single, Double
UInt32, Int32, UInt64, Int64, Single, Double
Int32, Int64, Single, Double
UInt64, Int64, Single, Double
Int64, Single, Double
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.