所以我试图遍历一个所有从BaseClass继承的对象数组,我的代码如下所示:
ChildClass object1 = new ChildClass();
OtherChildClass object2 = new OtherChildClass();
BaseClass array[] = {object1, object2}
foreach(BaseClass element in array)
{
//do stuff
}
显然,ChildClass和OtherChildClass继承自BaseClass。 // do stuff的声明每次都会给出一个空引用异常,当我看到局部变量赋值时,“element”肯定是空的......但是“数组”远不是空的!
在我看来,foreach没有拿起数组中的项目,因为它们不完全是基类,但我不知道如何解决这个问题。
答案 0 :(得分:1)
狂野猜测:您正在执行的代码不是您上面的代码;您上面的代码将无法编译,因为您的数组声明需要:
BaseClass[] array = {object1, object2};
尝试一下,然后执行clean
或rebuild
步骤。