class Program
{
static void Main(string[] args)
{
Object o = new Object();
Machine m = (Machine)o;
if(m == null)
{
Console.WriteLine("m is null");
}
}
}
class Machine { }
class Computer : Machine
{
{
static void Main(string[] args)
{
Object o = new Object();
Machine m = (Machine)o;
if(m == null)
{
Console.WriteLine("m is null");
}
}
}
class Machine { }
class Computer : Machine
{
}
由于o不是Machine类型,强制转换会报错 未经处理的异常: System.InvalidCastException
如果将Machine m = (Machine)o换成Machine m = o as Machine;那么m为null,不会报错
本文深入探讨了C#中强制类型转换的机制及其带来的潜在异常问题,通过实例展示了如何正确地进行类型转换并进行异常处理,确保程序的稳定性和健壮性。
565

被折叠的 条评论
为什么被折叠?



