Массивом называют упорядоченную совокупность элементов одного типа. Каждый элемент массива имеет индексы, которые определяют его расположение.
Число индексов характеризует размерность массива (одномерный, двумерный).
Каждый индекс изменяется в некотором диапазоне [0,n].
Элементы массива нумеруются с нуля.
В языке C#, как и во многих других языках, индексы задаются целочисленным типом.
Массивы в языке C# относятся к ссылочным типам, то есть являются динамическими. Поэтому память им отводится во время выполнения программы, в "куче".
При описании массива, сам массив не формируется, а создается только ссылка на него, имеющая неопределенное значение Null. Поэтому пока элементы массива не будут проинициализированы, использовать его в вычислениях нельзя.
При описании массива не указывается размер (количество элементов):
int [] Arr1;
Person [] Arr2;
Массив Arr1 будет содержать целые числа (то есть значения), а массив Arr2 – объекты класса Person (то есть ссылки на объекты).
Квадратные скобки в C# указываются после типа, перед именем массива.
При описании двумерного массива не указывается количество строк и столбцов
int [,] Arr;
Массив Arr будет содержать целые числа.
Количество строк и столбцов неизвестно
Существует два варианта инициализации:
Массив создается с помощью операции new: // все 4 элемента равны 0 int[] b = new int[4]; // если указаны значения, new можно не писать int[] c = { 61, 2, 5, -9 }; // размерность вычисляется int[] d = new int[] { 61, 2, 5, -9 }; // избыточное описание int[] e = new int[4] { 61, 2, 5, -9 }; |
//массив из 2 строк и 3 столбиков //все элементы равны 0 int [ , ] b = new int [ 2,3 ] ; //new подразумевается // массив из 2 строки и 3 столбиков int [ , ] с = { { 1 , 2, 3 } , {4, 5, 6 } } ; //размерность вычисляется 2стр и 3 столбца int [ , ] с = new int [ , ] { { 1 , 2, 3 } , {4, 5, 6 } } ; //избыточное описание int [ , ] d = new int [ 2,3 ] { { 1 , 2, 3 } , {4, 5, 6 } } ; |
Заполнить целочисленную матрицу размером 3x4 случайными числами. Найти: