可以这样做:
public static object[] untypedToObjectArray(Array arr)
{
int len = arr.Length;
object[] res = new object[len];
for(int i = 0; i < len; i++)
res[i] = arr.GetValue(i);
return res;
}
有更好的(更高效的)方式吗?对于值类型,每个元素都需要明显加框,这可能很慢。
答案 0 :(得分:5)
没有LINQ:
object[] tab = new object[input.Length];
input.CopyTo(tab, 0);
使用LINQ:
object[] tab = input.Cast<object>().ToArray();
其中“input”是您的输入数组。