0

我的要求是Clone一个数组Object。这是我正在使用的那种代码:

        Array numbers = Array.CreateInstance(typeof(int), 10);
        index = 0;
        foreach (int x in numbers)
        {
            numbers.SetValue(index * index, index);
            index++;
        }
        Object numberClone = numbers.Clone();

现在,我如何将ObjectnumberClone 转换Array为整数?

4

5 回答 5

2
Array numbers = Array.CreateInstance(typeof(int), 10);
int index = 0;
foreach (int x in numbers)
{
    numbers.SetValue(index * index, index);
    index++;
}
Array numberClone = (Array)numbers.Clone();
于 2013-02-19T10:07:39.613 回答
0

为什么不在 foreach 中设置相同的值?

像这样

int[] numbers = new int[10]();
int[] numberClone = new int[10]();

foreach(var x in numbers)
{
nubmers[index*index] = index;
numberClone[index*index] = index;
}

像这样的事情我在没有 VS 的情况下这样做了,如果它错了,我很抱歉:P

于 2013-02-19T09:16:14.080 回答
0

如果您使用的是 .net 3.5,这可能会对您有所帮助

object[] objarr = new object[] {1,2,3 };
 int[] arr= objarr.Cast<int>().ToArray();
于 2013-02-19T09:14:11.300 回答
0
  Array numbers = Array.CreateInstance(typeof(int), 10);
           int index = 0;
            foreach (int x in numbers)
            {
                numbers.SetValue(index * index, index);
                index++;
            }
            Object numberClone = numbers.Clone();

            Array castNumbers = (Array)numberClone;

            foreach(int x in castNumbers)
            {

                Console.WriteLine(x);
            }
于 2013-02-19T09:14:33.260 回答
0
Object numberClone = numbers.Clone();
var arr = numberClone as Array;
var listOfInt = arr.OfType<int>().Select(c => c).ToArray();
于 2013-02-19T09:15:51.047 回答