前言
在 C# 中,可以通过使用类型转换操作符或者类型转换方法来进行类型转换。但是在进行类型转换时,可能会出现类型转换异常,为了避免这种异常的发生,可以采取以下几种方法:
使用 as 操作符:
as 操作符用于将一个对象转换为指定类型,如果转换失败,则返回 null ,而不会抛出异常。
例如:
object obj = "Hello"; string str = obj as string; if (str != null) { // 转换成功 } else { // 转换失败 }
使用 is 操作符进行类型检查:
is 操作符用于检查一个对象是否是指定类型的实例,如果是,则返回true,否则返回false。
例如:
object obj = "Hello"; if (obj is string) { string str = (string)obj; // 进行类型转换 } else { // 对象不是string类型 }
使用 TryParse 方法进行数值类型转换:
对于数值类型的转换,可以使用 TryParse 方法来避免类型转换异常。TryParse 方法尝试将字符串转换为指定的数值类型,如果转换成功,则返回true,并将转换后的值赋给输出参数,如果转换失败,则返回false。
例如:
string str = "123"; int num; if (int.TryParse(str, out num)) { // 转换成功,可以使用num变量 } else { // 转换失败 }