Array - Copy
Copies a range of elements from an starting at the first element and pastes them into another starting at the first element. The length is specified as a 32-bit integer.
public static void Main() { int[] sourceArray = { 2, 5, 3, 8, 6, 5, 4, 15, 19, 32 }; Array destinationArray = Array.CreateInstance(typeof(Int32), 10); // C# Extension Method: Array - Copy sourceArray.Copy(destinationArray, 5); // Displays the values of the Array. Console.WriteLine( "The Int32 array contains the following:" ); PrintValues(destinationArray); } public static void PrintValues(Array myArr) { int i = 0; int cols = myArr.GetLength(myArr.Rank - 1); foreach (object o in myArr) { if ( i < cols ) { i++; } else { Console.WriteLine(); i = 1; } Console.Write( "\t{0}", o); } Console.WriteLine(); }
View Source
using System; public static partial class Extensions { /// <summary> /// Copies a range of elements from an starting at the first element and pastes them into another starting at /// the first element. The length is specified as a 32-bit integer. /// </summary> /// <param name="sourceArray">The that contains the data to copy.</param> /// <param name="destinationArray">The that receives the data.</param> /// <param name="length">A 32-bit integer that represents the number of elements to copy.</param> public static void Copy(this Array sourceArray, Array destinationArray, Int32 length) { Array.Copy(sourceArray, destinationArray, length); } /// <summary> /// Copies a range of elements from an starting at the specified source index and pastes them to another /// starting at the specified destination index. The length and the indexes are specified as 32-bit integers. /// </summary> /// <param name="sourceArray">The that contains the data to copy.</param> /// <param name="sourceIndex">A 32-bit integer that represents the index in the at which copying begins.</param> /// <param name="destinationArray">The that receives the data.</param> /// <param name="destinationIndex">A 32-bit integer that represents the index in the at which storing begins.</param> /// <param name="length">A 32-bit integer that represents the number of elements to copy.</param> public static void Copy(this Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length) { Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length); } /// <summary> /// Copies a range of elements from an starting at the first element and pastes them into another starting at /// the first element. The length is specified as a 64-bit integer. /// </summary> /// <param name="sourceArray">The that contains the data to copy.</param> /// <param name="destinationArray">The that receives the data.</param> /// <param name="length"> /// A 64-bit integer that represents the number of elements to copy. The integer must be between /// zero and , inclusive. /// </param> public static void Copy(this Array sourceArray, Array destinationArray, Int64 length) { Array.Copy(sourceArray, destinationArray, length); } /// <summary> /// Copies a range of elements from an starting at the specified source index and pastes them to another /// starting at the specified destination index. The length and the indexes are specified as 64-bit integers. /// </summary> /// <param name="sourceArray">The that contains the data to copy.</param> /// <param name="sourceIndex">A 64-bit integer that represents the index in the at which copying begins.</param> /// <param name="destinationArray">The that receives the data.</param> /// <param name="destinationIndex">A 64-bit integer that represents the index in the at which storing begins.</param> /// <param name="length"> /// A 64-bit integer that represents the number of elements to copy. The integer must be between /// zero and , inclusive. /// </param> public static void Copy(this Array sourceArray, Int64 sourceIndex, Array destinationArray, Int64 destinationIndex, Int64 length) { Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length); } }