我正在尝试为对象[]创建深度反转。我使用类型检查来查看第一个对象内是否有另一个对象[],如果是,则返回该数组。当没有更多的对象[]进入时,我们反转数组。这似乎是它会扭转整个事情,但我遇到了一个错误,当我将对象[]传递给方法时,它发现。无法递归对象[],因为无法将对象转换为对象[]
这里是我的代码: '对象[]'
private static void deepReverse(object[] argArr)
{
for(var i = 0; i < argArr.Length; i++)
{
if (argArr[i].GetType() == typeof(object[]))
{
deepReverse(argArr[i]);
}
}
Array.Reverse(argArr);
}
在deepReverse(argArr [1])我得到一个错误“无法从 '对象' 转换为
我不明白这一点,因为这是typecheck所做的事情,if语句正在检查以确保索引确实持有'object []'。如果它找到索引来保存一个'object []'怎么来我不能将它作为一个对象传递[]?
这是一个帮助别的东西的小帮助方法,这就是为什么我使用object []而不是更具体的东西,在这种情况下,我需要使用那种类型。