使System.Array成为对象[]的最佳方法

时间:2015-02-11 13:18:17

标签: c# arrays

可以这样做:

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;
}

有更好的(更高效的)方式吗?对于值类型,每个元素都需要明显加框,这可能很慢。

1 个答案:

答案 0 :(得分:5)

没有LINQ:

object[] tab = new object[input.Length];
input.CopyTo(tab, 0);

使用LINQ:

object[] tab = input.Cast<object>().ToArray();

其中“input”是您的输入数组。