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


Метод Copy  Метод  Copy() является статическим методом


Download 1.19 Mb.
Pdf ko'rish
bet41/66
Sana23.10.2023
Hajmi1.19 Mb.
#1717181
1   ...   37   38   39   40   41   42   43   44   ...   66
Bog'liq
Программирование на языке C#

Метод Copy 
Метод 
Copy()
является статическим методом класса 
Array

который копирует заданную часть одного массива в другой. 
Не 
углубляясь 
в 
тематику 
объектно-ориентированного 
программирования, скажем, что вызов статических методов 
отличается от не статических тем, что не требуется создания 
68 


экземпляра класса (см. раздел 7). Обращение к таким методам 
происходит по имени класса, а не экземпляра. 
Метод 
Copy
копирования вызывается через класс 
Array.Copy(arguments); 
В качестве 
arguments
, в соответствии с синтаксисом языка 
передается последовательность параметров через запятую с указанием 
имени параметра и его типа. 
Реализовано два общих варианта метода 
Copy
с различными 
параметрами. 
В первом варианте синтаксиса метода задаются следующие пять 
параметров 
public static void Copy (Array sourceArray,
long sourceIndex,
Array destinationArray, 
long destinationIndex,
long length); 
во втором варианте, задаются следующие три параметра 
public static void Copy (Array sourceArray,
Array destinationArray,
long length); 
Рассмотрим назначение параметров для метода 
Copy

Array sourceArray
– 
массив, содержащий данные, необходимые для 
копирования; 
long(int) sourceIndex
– 64-
разрядное (32-разрядное) целое число, 
задающее индекс в массиве 
sourceArray
, с которого выполняется 
копирование элементов. 
Array destinationArray
– 
массив в который производится 
копирование (массив приемник). 
long destinationIndex
– 64-
разрядное (32-разрядное) целое число, 
представляющее индекс в массиве 
destinationArray
, с которого 
начинается сохранение элементов. 
long length(int)
– 64-
разрядное (32-разрядное) целое число, 
представляющее число копируемых элементов. Целое число должно 
лежать в диапазоне от 
0
до 
MaxValue
включительно. 
Рассмотрим пример (листинг 25) копирования элементов массива 
source
начиная с индекса 
sourceIx
в массив 
destination 
начиная с 
индекса 
destinationIx 
методом 
Copy

int[] source = { -1, -2, 1, 2, 3, 4, 5, -8, -9 }; 
69 


int[] destination = new int[5]; 
//Объявляются вспомогательные индексы. 
int sourceIx = 2;//Индекс источника. 
int destinationIx = 0;//Индекс приемника. 
int numbers = 5;//Количество копируемых элементов.  
//Копируем из массива source со 2-го индекса 5 элементов 
помещаем 5 элементов в массив destination, начиная с 0-го 
индекса. 
Array.Copy(source,sourceIx, destination, destinationIx, 
numbers); 
foreach(int number in destination){ 
Console.Write($"{number} \t"); 

Листинг 25. 
После выполнения данной программы на экране будет выведен 
массив: 
1 2 3 4 5
 
В случае копирования элементов многомерных массивов, массивы 
воспринимаются как одномерный длинный массив, в котором строки 
расположены последовательно. Например, двумерный массив, 
состоящий из трёх строк и трёх столбцов,
int [,] Mx = {{1,2,3},{4,5,6},{7,8,9}}; 
будет восприниматься следующим образом –
{1, 2, 3, 4, 5, 6, 7, 8, 9}. 
При копировании, например, пяти элементов, с начала массива, 
будут скопированы все три элемента из первой строки, затем два 
элемента из второй строки. Если требуется начать копирование с 
указанного элемента массива, например, с третьей строки и второго 
столбца, то нужно правильно определить начальный индекс, равный 
сумме длин двух строк и номеру столбца. 

Download 1.19 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   66




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