Программирование на языке C#
Свойства и методы массивов
Download 1.19 Mb. Pdf ko'rish
|
Программирование на языке C#
9.6.
Свойства и методы массивов Массивы в языке C# обладают свойствами и методами, позволяющие упростить многие действия. Рассмотрим основные свойства и методы массивов. 64 Свойство Length - получает общее число элементов во всех измерениях массива; ноль, если в массиве нет элементов. Например, объявим и создадим двумерный массив размерности 4x2 . С помощью свойства Length получим общее количество элементов, а результат запишем в переменную count . В нашем случае будет получено значение 8 . int row=4,column=2; int[,] array2D = new int[row, column]; int count = array2D.Length; //переменная count принимает значение 8 В случае одномерного массива данное свойство удобно использовать в качестве граничного значения при обходе элементов массива, т. е. нет необходимости создавать отдельную переменную для хранения количества элементов. Рассмотрим на примере. Создадим и заполним случайными числами массив, состоящий из 100 элементов. Заполнение организуем с помощью цикла for от 0 до tmpArray.Length (листинг 19). int n = 100; int [] tmpArray = new int[n]; for(int index=0;index < tmpArray.Length;index++){ tmpArray[index] = Rnd.Next(10,234); } Листинг 19. Свойство Length удобно использовать в случае ступенчатых массивов, так как их строки могут быть разной длины. Пример обхода ступенчатой матрицы с выводом элементов на экран приводится в листинге 20. int[][] arrX = new int[4][]; // Ступенчатый массив arrX[0] = new int[2] { 2, 2}; arrX[1] = new int[4] { 2, 4, 6, 8 }; arrX[2] = new int[6] { 2, 2, 2, 2,2,2}; arrX[3] = new int[8] { 2, 4, 6, 8,10,12,14,16}; for(int i=0;i Console.Write("{0} ,", arrX[i][j]); } Console.WriteLine (); } Листинг 20. 65 Свойство Rank – получает ранг (число измерений) массива. Для одномерного массива – значение 1 , для двумерного – значение 2 и т. д. Рассмотрим пример обращения к свойству Rank , в котором для каждого массива array1 , array2 , array3 выводим на экран его размерность. int[] array1 = new int[10]; int[,] array2= new int[10,3]; int[, ,] array3 = new int[4,4,2]; Console.WriteLine("{0}:dimension(s)", array1.Rank); Console.WriteLine("{0}:dimension(s)", array2.Rank); Console.WriteLine("{0}:dimension(s)", array3.Rank); Метод GetLength – возвращает 32-разрядное целое число, представляющее количество элементов в заданном измерении массива. Данный метод зависит от целочисленного входного аргумента, определяющего номер размерности, для которой необходимо получить длину. Допустимое значение номера размерности лежит в диапазоне от 0 до Rank-1 . Например, создадим трехмерный массив array3D , выведем на экран количество элементов для каждой размерности (листинг 21). В первой строке, выводим на экран общее количество элементов с помощью свойства Length , а далее количество элементов для каждой размерности. int[,,] array3D = new int[10,11,12]; Console.WriteLine(array3D.Length); //Общее кол-во элементов 1320 Console.WriteLine(array3D.GetLength(0));//Для первой размерности 10 элементов Console.WriteLine(array3D.GetLength(1));//Для второй 11 элементов Console.WriteLine(array3D.GetLength(2));//Для третьей 12 элементов Листинг 21. Усовершенствуем данный пример, в котором организуем вывод количества элементов для каждой размерности с помощью цикла (листинг 22). int[ , , ] array3D = new int[10,11,12]; Console.WriteLine(array3D.Length); for(int i=0;i } Листинг 22. 66 Методы массива GetUpperBound(int dimension) и GetLowerBound (int dimension) получают соответственно индекс последнего элемента и индекс первого элементов для указанного измерения, определяемый параметром dimension, либо возвращает значение -1, если указанное измерение пусто. Например, получим значение последнего индекса для каждого из трех измерений массива (листинг 23). int[ , , ] arrX = { { { 1, 1 },{ 2, 2 },{ 3, 3 } }, { { 4, 4 },{ 5, 5 },{ 6, 6 } } }; int upIndexA = arrX.GetUpperBound(0);//Значение последнего индекса равно 1, так как определено две строки. int upIndexB = arrX.GetUpperBound(1);//Значение последнего индекса равно 2, так как каждый элемент массива состоит из трех элементов. int upIndexC = arrX.GetUpperBound(2);//Значение последнего индекса равно 1, так как по третьему измерению элемент массива является массивом, состоящим из двух элементов. Листинг 23. 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