如何在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();