我想将对象数组转换为不同对象类型的不同数组,如下所示
object []对象; //假设它是非空的
CLassA [] newObjects =对象为ClassA []; //假设ClassA的对象是有效的向上转发
除了单独转发每个元素之外还有其他方法吗?
答案 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();