ОДНОМЕРНЫЕ МАССИВЫ
Цель лабораторной работы: Изучить способы получения случай- ных чисел. Написать программу для работы с одномерными массивами.
Работа с массивами
Массив – набор элементов одного и того же типа, объединенных общим именем. Массивы в С# можно использовать по аналогии с тем, как они используются в других языках программирования. Однако С#-массивы имеют существенные отличия: они относятся к ссылоч- ным типам данных, более того – реализованы как объекты. Фактически имя массива является ссылкой на область кучи (динамической памяти), в которой последовательно размещается набор элементов определен- ного типа. Выделение памяти под элементы происходит на этапе ини- циализации массива. А за освобождением памяти следит система сбор- ки мусора – неиспользуемые массивы автоматически утилизируются данной системой.
Рассмотрим в данной лабораторной работе одномерные массивы. Одномерный массив – это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент име- ет свой номер. Нумерация элементов массива в С# начинается с нуля, то есть если массив состоит из 10 элементов, то его элементы будут иметь следующие номера: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Одномерный массив в С# реализуется как объект, поэтому его соз- дание представляет собой двухступенчатый процесс. Сначала объявля- ется ссылочная переменная на массив, затем выделяется память под требуемое количество элементов базового типа, и ссылочной перемен- ной присваивается адрес нулевого элемента в массиве. Базовый тип оп- ределяет тип данных каждого элемента массива. Количество элементов, которые будут храниться в массиве, определяет размер массива.
В общем случае процесс объявления переменной типа массив и выделение необходимого объема памяти может быть разделен. Кроме того, на этапе объявления массива можно произвести его инициализа- цию. Поэтому для объявления одномерного массива может использо- ваться одна из следующих форм записи:
тип[] имя_массива;
В этом случае описывается ссылка на одномерный массив, которая в дальнейшем может быть использована для адресации на уже сущест- вующий массив. Размер массива при таком объявлении не задается. Пример, в котором объявляется массив целых чисел с именем a:
int[] a;
Другая форма объявления массива включает и его инициализацию указанным количеством элементов:
тип[] имя_массива = new тип[размер];
В этом случае объявляется одномерный массив указанного типа и выделяется память под указанное количество элементов. Адрес данной области памяти записывается в ссылочную переменную. Элементы мас- сива инициализируются значениями, которые по умолчанию приняты для данного типа: массивы числовых типов инициализируются нулями, строковые переменные – пустыми строками, символы – пробелами, объ- екты ссылочных типов – значением null. Пример такого объявления:
int[] a = new int[10];
Здесь выделяется память под 10 элементов типа int.
Наконец, третья форма записи дает возможность сразу инициали- зировать массив конкретными значениями:
тип[] имя_массива = {список инициализации};
При такой записи выделяется память под одномерный массив, размер- ность которого соответствует количеству элементов в списке инициализа- ции. Адрес этой области памяти записан в ссылочную переменную. Значе- ние элементов массива соответствует списку инициализации. Пример:
int[] a = { 0, 1, 2, 3 };
В данном случае будет создан массив a, состоящий из четырех эле- ментов, и каждый элемент будет инициализирован очередным значени- ем из списка.
Обращение к элементам массива происходит с помощью индекса: для этого нужно указать имя массива и в квадратных скобках – его но- мер. Например: a[0], b[10], c[i]. Следует помнить, что нумерация эле- ментов начинается с нуля!
Так как массив представляет собой набор элементов, объединен- ных общим именем, то обработка массива обычно производится в цик- ле. Например:
int[] myArray = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < 10; i++) MessageBox.Show(myArray[i]);
Достарыңызбен бөлісу: |