Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткая теория C#.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
278.88 Кб
Скачать

Раздел: Массивы, строки Массивы одномерные

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

Коллекция в программировании — программный объект, содержащий в себе, тем или иным образом, набор значений одного или различных типов, и позволяющий обращаться к этим значениям.

Массивы являются коллекциями объектов одного типа. Поскольку длина массивов практически не ограничена, они могут использоваться для хранения тысяч или даже миллионов объектов, но размер массива должен быть указан при его создании. Каждый элемент массива доступен по числовому индексу, указывающему позицию или ячейку, в которой объект хранится в массиве. Массивы могут хранить как ссылочные типы, так и типы значений. Массив является индексированной коллекцией объектов.

Индексный массив — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу.

Одномерный массив объектов объявляется следующим образом:

тип_элемента[] имя_массива;

int[] myArray1;

Часто элементы в массиве инициализируются в это же время, как показано ниже:

int[] massiv1 = new int[12];

Здесь между разделителями [ и ] находится константное выражение, значение которого определяет размерность массива.

Значение по умолчанию числовых элементов массива задано равным нулю, а элементы ссылок имеют значение null, но значения можно инициализировать при создании массива следующим образом:

int[] myArray2 = new int[] { 7, 13, 4, 2 };

int[] myArray3 = { 5, 9, 3, 17, 9 };

Можно создавать массивы из строк:

string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };

Индексация массивов начинается с нуля, поэтому номер первого элемента массива равен 0. Обращение к элементу массива осуществляется через квадратные скобки [ и ].

myArray2[2] = 17;

Пример: Написать программу, осуществляющую ввод целых чисел в массив. Из полученного массива распечатать элементы превышающие среднее арифметическое всего массива.

int i,N; string s;double av;

//вводим число элементов

Console.Write("Введите число элементов массива N=");

s = Console.ReadLine();

N = Convert.ToInt32(s);

//создаём массив необходимой длины

int[] massiv1 = new int[N]; av = 0;

//запускаем цикл по всем элементам массива

for (i = 0; i < N; i++)

{

//вводим i-ый элемент

Console.Write("Введите {0}-й элемент массива ",i);

s = Console.ReadLine();

massiv1[i] = Convert.ToInt32(s);

//суммируем все элементы массива

av += massiv1[i];

}

//находим среднее арифметическое

av /=N;

//запускаем цикл по всем элементам массива

for (i = 0; i < N; i++)

//печатаем только элементы больше среднего

if (massiv1[i] > av) Console.Write("{0} ", massiv1[i]);

Console.ReadKey();

Массивы можно целиком переприсваивать:

int[] massiv1 = new int[50];

. . .//обрабока элементов массива

//обьявляем массив massiv2 без инициализации

int[] massiv2;

massiv2 = massiv1;//переприсваиваем

Чтобы узнать число элементов в массиве используют свойство Length:

N = massiv1.Length;