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

さて、どうすればintergersの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 に答える