System.Convert.ChangeType 方法 (Object, Type)

方法描述

返回一个指定类型的对象,该对象的值等效于指定的对象。

语法定义(C# System.Convert.ChangeType 方法 (Object, Type) 的用法)

public static Object ChangeType(
	Object value,
	Type conversionType
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Object 用于实现 IConvertible 接口的对象。
conversionType System-Type 要返回的对象的类型。
返回值 System.Object 一个类型为 conversionType 的对象,其值等效于 value。 - 或 - 如果 value 是 null,且 conversionType 不是值类型,则为 null 引用(Visual Basic 中为 Nothing)。

提示和注释

ChangeType 是将 value 指定的对象转换为 conversionType 的通用转换方法。 value 参数可以是任何类型的对象,conversionType 也可以是表示任何基类型或自定义类型的 Type 对象。 要使转换成功,value 必须实现 IConvertible 接口,因为此方法只是包装对相应 IConvertible 方法的调用。 此方法要求支持将 value 转换为 conversionType。

此方法将当前线程的区域性用于转换。

System.Convert.ChangeType 方法 (Object, Type)例子

下面的示例阐释了 ChangeType 方法的用法。

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

异常

异常 异常描述
InvalidCastException
  • 不支持此转换。
  • value 为 null,而且 conversionType 是值类型。
  • value 不实现 IConvertible 接口。
FormatException conversionType 无法识别value的格式。
OverflowException value 表示超出 conversionType 范围的数字。
ArgumentNullException conversionType 为 null。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。