Программирование на языке C#


Download 1.19 Mb.
Pdf ko'rish
bet42/66
Sana23.10.2023
Hajmi1.19 Mb.
#1717181
1   ...   38   39   40   41   42   43   44   45   ...   66
Bog'liq
Программирование на языке 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:
1   ...   38   39   40   41   42   43   44   45   ...   66




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling