C#中一个数组中存储不同类型的对象问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 07:20:55
A类对象a,B类对象b,C类对象c,其中B,C是继承自A,那么把这3个对象都存储在A zzz[3]中除了用as来转换,把各个类型转换为A类型,直接用zzz[1]=b这样赋值可以不?派生类的对象不是可以初始化基类的对象么?
那为什么还要用as呢?难道仅仅为了消除异常??

当然可以了 要是不可以的话 还用什么实现多态

恩对 因为如果你使用强制转换 就是那种括号的形式的话 如果转换失败的话会报错. 而如果用as操作符的话如果转坏失败的话就不会报错 而且用as可以使用if(b as a) 返回boolean类型的true或者falase让程序更加的严谨一些.

可以 自己试下就知道了

用AS就是为了消除异常

array 不是很好用么

当然可以啊,这就是继承的本质啊