铸造数组对象

本文关键字:对象 数组 | 更新日期: 2023-09-27 18:00:09

我的要求是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();

现在,我如何将整数的Object编号克隆转换为Array

铸造数组对象

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();

如果您使用.net 3.5,这可能会帮助您

object[] objarr = new object[] {1,2,3 };
 int[] arr= objarr.Cast<int>().ToArray();
  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);
            }

为什么不在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

Object numberClone = numbers.Clone();
var arr = numberClone as Array;
var listOfInt = arr.OfType<int>().Select(c => c).ToArray();