Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч


Download 2.46 Mb.
bet29/91
Sana19.10.2023
Hajmi2.46 Mb.
#1709453
TuriУчебно-методический комплекс
1   ...   25   26   27   28   29   30   31   32   ...   91
Bog'liq
Язык программирования C#

7. МАССИВЫ

Главным предназначением компьютеров является обработка больших объемов однотипных данных. Большая часть программ на современном компьютере предназначена именно для обработки однотипных данных большого объема: текстовые и графические редакторы, аудио и видео плееры, СУБД и так далее.


Наиболее простой и эффективной структурой для хранения однотипных данных является массив.
Массив – простая структура данных, предназначенная для хранения набора единиц данных, каждая из которых идентифицируется индексом или набором индексов.
Индекс – целое число, указывающее на конкретный элемент массива.
Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д. Одномерный массив нестрого соответствует вектору в математике, двумерный – матрице. Чаще всего применяются массивы с одним или двумя индексами, реже – с тремя, еще большее количество индексов встречается крайне редко.
Массивы, как и другие переменные, могут быть объявлены только как поле касса или структуры, или же, как локальная переменная метода.


7.1. Одномерные массивы

Одномерный массив – это пронумерованная последовательность переменных одного типа, к которым можно обратиться, используя одно и тоже имя переменной и уникальный для каждого элемента единственный индекс.




Объявление массива и выделение памяти.
Для объявления одномерного массива некоторого типа используется следующая конструкция.

тип[] имя_массива;


int[] Integers;


double[] Reals;
string[] Strings;
Лист. 7.1

В приведенном выше примере последовательно объявлены три массива: массив целых чисел, массив вещественных чисел и массив строк.


Для выделения памяти под массив некоторого типа применяется следующая конструкция.


имя_массива = new тип[количество_элементов]


Тип должен совпадать с типом переменной, а количество_элементов должно быть целым числом.


Integers = new int[10];


Reals = new double[5];
Strings = new string[25];
Лист. 7.2

В этом примере выделяется память под три объявленные выше массивы: выделяется память под массив из 10 целых чисел, из 5 вещественных и из 25 строк.


Объявление массива и выделение памяти под него можно совместить в одной строке. Для этого используется конструкция следующего вида, объединяющие приведенные выше построения.


тип имя_массива = new тип[количество_элементов]


int[] Integers = new int[10];


double[] Reals = new double[5];
string[] Strings = new string[25];
Лист. 7.3

В этом примере массивы сразу объявляются и инициализируются в одной строке.


Оператор new выделяет память под элементы массивы нужного типа и инициализирует эти элементы значением по умолчанию. Значения по умолчанию различны для каждого типа данных. Для числовых типов – это 0. Для ссылочных – null. Для структур – структура с полями, имеющими значение по умолчанию.


Так как оператор new инициализирует элементы массива значениями по умолчанию, в приведенных выше примерах элементы массивов Integers и Reals будут равны 0, а массива Strings – null.

Можно инициализировать собственными значениями сразу при создании.


int[] IntArrr = new int[] { 1, 2, 3, 4, 5 };


string[]WeekDays = new string[]{ "Sun", "Mon", "Tue", "Wed", "Thu",
"Fri", "Sat" };

int[] IntArrr = { 1, 2, 3, 4, 5 };


string[] WeekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
int[] IntArrr;
IntArrr = new int[] { 1, 2, 3, 4, 5 };
string[] WeekDays;
WeekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
"Sat" };
Лист. 7.4

Все приведенные выше примеры абсолютно равнозначны. В первом примере объявляются массивы и сразу инициализируются, но перед инициализацией стоит конструкция из оператора new типа массива и квадратных скобок. Компилятор языка C# позволяет опустить эту громоздкую конструкцию, что, и сделано во втором примере. Объявление и инициализация могут происходить в разных местах, как показано в третьем примере.





Download 2.46 Mb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   91




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