Программирование на языке C#
Download 1.19 Mb. Pdf ko'rish
|
Программирование на языке C#
Пример.
int[,] arrX = { { 1, 2, 3 }, { 4, 5, 6 } }; int[,] arrY = { { 11, 22, 33 }, {0, 0, 0 }}; //Скоприруем четыре элемента с начала массива arrX в массив arrY Array.Copy (arrXmx, arrYmx, 4); foreach ( int elem in arrYmx ) Console.Write("{0} ", elem ); 70 В результате, на экран будет выведена следующая последовательность значений: 1 2 3 4 0 0 Далее рассмотрим пример копирования элементов трехмерного массива, в котором, кроме начальной позиции, зададим индекс, с которого начинается запись элементов в массив приемник (листинг 26). int sourceIx = 2;//Позиция индекса в массиве источника. int destinationIx = 5;//Позиция индекса в массиве приемника. int numbers = 3;//Количество копируемых элементов. int[,,] arrX = { { {1,1}, {2,2}, {3,3} }, { {4,4}, {5,5}, {6,6} } }; int[,,] arrY = { { {0,0}, {0,0}, {0,0} }, { {0,0}, {0,0}, {0,0} } }; Array.Copy (arrX,sourceIx,arrY,destinationIx,numbers); foreach ( int elem in arrY ) Console.Write("{0} ", elem ); Листинг 26. Результатом работы программы, является следующая последовательность значений, выводимая на экран. 0 0 0 0 0 2 2 3 0 0 0 0 В этом примере рассмотрим вариант копирования элементов ступенчатого массива (неглубокое копирование). int[][] X = new int[3][]; //Ступенчатый массив. X[0] = new int[5] { 2, 4, -5, 9, 12 }; X[1] = new int[3] { 3, 10, -2 }; X[2] = new int[4] { 6, 2, 15, -1 }; int[][] Y = new int[3][]; //Ступенчатый массив Array.Copy(X,Y,3);//Копирование массива X в массив Y. foreach (int[] x in Y){ foreach (int y in x) Console.Write("\t"+y); Console.WriteLine(); } В этом примере реализован вариант глубокого копирования int[][] X = new int[3][]; //Ступенчатый массив. X[0] = new int[5] { 2, 4, -5, 9, 12 }; X[1] = new int[3] { 3, 10, -2 }; X[2] = new int[4] { 6, 2, 15, -1 }; int[][] Y = new int[3][]; //Ступенчатый массив. int ix = -1; int size = 0; 71 foreach (int[] tmp in X){ size = tmp.GetUpperBound(0)+1; Y[++ix] = new int [size]; Array.Copy (tmp, Y[ix], size); foreach (int y in Y[ix]) Console.Write("\t"+y); Console.WriteLine();} } Download 1.19 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling