📜  演示 UnBoxing 中无效类型转换的异常处理的 C# 程序(1)

📅  最后修改于: 2023-12-03 14:56:10.609000             🧑  作者: Mango

演示 UnBoxing 中无效类型转换的异常处理的 C# 程序

在 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 中无效类型转换的异常处理的过程。