如何在C#中将对象数组转换为另一种类型的对象数组?

我想将对象数组上传到不同对象类型的不同数组,如下所示

object []对象; //假设它是非空的

CLassA [] newObjects =对象为ClassA []; //假设ClassA的对象是有效的向上转换

有什么方法可以单独向上转换每个元素吗?

using System.Linq; newObjects = objects.Select(eachObject => (ClassA)eachObject).ToArray(); 

正如这篇文章所暗示的,你可以做以下技巧(未经测试):

 newObjects = (ClassA[])(object)objects; 

请注意,在C#4.0中您不需要强制转换,您将能够直接分配newObjects = objects

或者我想你可以尝试更简单的语法:

 newObjects = objects.Cast().ToArray();