How to use Array.CopyTo() method to copy all elements of 1D array to other 1D array starting at index N in C#

2 Answers

0 votes
using System;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Array sourceArray = Array.CreateInstance(typeof(String), 3);

            sourceArray.SetValue("aaa", 0);
            sourceArray.SetValue("bbb", 1);
            sourceArray.SetValue("ccc", 2);

            Array targetArray = Array.CreateInstance(typeof(String), 3);

            sourceArray.CopyTo(targetArray, 0);

            PrintArray(targetArray);
        }
        public static void PrintArray(Array arr)
        {
            for (int i = arr.GetLowerBound(0); i <= arr.GetUpperBound(0); i++)
                Console.WriteLine("arr[{0}] = {1}", i, arr.GetValue(i));
        }
    }
}


/*
run:
 
arr[0] = aaa
arr[1] = bbb
arr[2] = ccc

*/

 



answered Apr 15, 2016 by avibootz
edited Apr 15, 2016 by avibootz
0 votes
using System;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Array sourceArray = Array.CreateInstance(typeof(String), 3);

            sourceArray.SetValue("aaa", 0);
            sourceArray.SetValue("bbb", 1);
            sourceArray.SetValue("ccc", 2);

            Array targetArray = Array.CreateInstance(typeof(String), 4);
            targetArray.SetValue("yyy", 0);
            targetArray.SetValue("zzz", 1);

            sourceArray.CopyTo(targetArray, 1);

            PrintArray(targetArray);
        }
        public static void PrintArray(Array arr)
        {
            for (int i = arr.GetLowerBound(0); i <= arr.GetUpperBound(0); i++)
                Console.WriteLine("arr[{0}] = {1}", i, arr.GetValue(i));
        }
    }
}


/*
run:
 
arr[0] = yyy
arr[1] = aaa
arr[2] = bbb
arr[3] = ccc

*/

 



answered Apr 15, 2016 by avibootz
...