📅  最后修改于: 2023-12-03 14:56:10.609000             🧑  作者: Mango
在 C# 里,UnBoxing 是指将一个值类型从包含在对象中的对象中提取出来,转换成相应的值类型。如果类型转换不合法,则会抛出无效类型转换的异常。
下面是一个演示 UnBoxing 中无效类型转换的异常处理的 C# 程序:
using System;
class Program
{
static void Main()
{
object o = 42; // 将 int 类型的值 42 装箱到 object 中
try
{
string s = (string)o; // 将 object 类型的值转换为 string 类型,这里会抛出无效类型转换的异常
Console.WriteLine(s);
}
catch (InvalidCastException e)
{
Console.WriteLine("无效类型转换的异常: " + e.Message);
}
}
}
这个程序首先将一个 int 类型的值 42 装箱到 object 类型的变量 o 中,然后将 o 转换成了 string 类型的变量 s。但是,由于 int 类型和 string 类型之间没有任何类型转换关系,因此这里会抛出无效类型转换的异常。在 catch 块中,程序打印了异常信息。
使用内置异常类库中的 InvalidCastException
类,可以捕获无效类型转换的异常。在 catch 块中,可以对异常进行相应的处理,例如输出异常信息,或者采取其他措施。
通过这个程序,我们可以看到 UnBoxing 中无效类型转换的异常处理的过程。