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

时间:2009-07-15 14:18:25

标签: c# arrays object casting

我想将对象数组转换为不同对象类型的不同数组,如下所示

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

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

除了单独转发每个元素之外还有其他方法吗?

3 个答案:

答案 0 :(得分:3)

this post所示,您可以执行以下操作(未经测试):

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

请注意,在C#4.0中您不需要强制转换,您可以直接指定newObjects = objects

答案 1 :(得分:2)

或者我猜你可以尝试使用更短的语法:

newObjects = objects.Cast<ClassA>().ToArray();

答案 2 :(得分:1)

using System.Linq;

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