Программирование на языке C#
Download 1.19 Mb. Pdf ko'rish
|
Программирование на языке C#
Метод CopyTo
Метод CopyTo копирует все элементы текущего одномерного массива в заданный одномерный массив, начиная с указанного индекса в массиве назначения. Индекс задается как 32-битовое целое число. Синтаксис метода: public void CopyTo (Array array, int index); Например, скопируем элементы из массива source в массиве tagert начиная с позиции index . В результате получим массив, в котором, начиная с позиции index , будут расположены все элементы массива source . int[] source = new int[10] {1,2,3,4,5,6,7,8,9,10}; int[] tagert = new int[20]; int index = 5; source.CopyTo(tagert,5); При использовании метода Copy(CopyTo) необходимо следить за значениями передаваемых параметров, так как, при определенных значениях параметров будут генерироваться исключения. Рассмотрим всевозможные значения параметров и генерируемые исключения. 1. Исключение ArgumentNullException генерируется в случае, когда хотя бы одна ссылка на массив принимает значение null . Следовательно, во избежание данного исключения необходимо следить за ссылками и не допускать передачу пустых ссылок. 2. Исключение RankException генерируется в случае разных рангов массивов. Например. int[] arrX = { 1, 2, 3 }; int[,] arrY = { { 1, 2, 3 }, { 1, 2, 3 } }; Array.Copy (arrX, arrY, 2); 72 В этом примере выполняется попытка копирования значений одномерного массива в двумерный, что недопустимо, так как у них разные ранги. 3. Исключение InvalidCastException генерируется в случае, если хотя бы один элемент не сможет быть приведенным к типу того массива куда осуществляется копирование. 4. Исключение ArgumentOutOfRangeException генерируется в случае кода индексы находятся вне диапазона допустимых значений, либо length длины (количество копируемых) имеет значение меньше 0 или больше MaxValue . 5. Исключение ArgumentException генерируется в случае, когда индекс, указывающий на позицию, с которой начинается копирование выходит за границы исходного массива, а также индекс приемника также превышает размер массива приемника. 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